# erupt **Repository Path**: elfbobo_admin/erupt ## Basic Information - **Project Name**: erupt - **Description**: 🚀 非代码生成器,纯注解开发、零前端代码、零 CURD、不生成任何代码、自动建表、注解式API,支持所有主流数据库,支持自定义页面,支持多数据源,提供二十几类业务组件,十几种展示形式,逻辑删除,前端后端分离等。 核心技术:Spring Boot、JPA、Reflect、TypeScript、NG-ZORRO等。 开源不易,记得右上角点个star鼓励作者 ⭐️ ~ - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.erupt.xyz - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1418 - **Created**: 2021-10-13 - **Last Updated**: 2025-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [中文](./README.md) | English
GitHub Repo | GitCode Repo | Gitee Repo | Official Website | Live Demo | Module Ecosystem | 📕 Documentation
--- > A revolutionary low-code development framework designed to boost enterprise-level backend development efficiency, significantly reducing development costs and complexity. > > More than just a tool, it is a strategic choice for optimizing development processes, enhancing team productivity, and accelerating digital transformation. > > Erupt delivers efficiency, flexibility, and control—dramatically shortening development cycles and allowing you to focus on core business. --- ## 🚀 Introduction | Intro **Erupt** is a universal low-code framework driven by Java annotations that dynamically renders and constructs pages and APIs. Zero front-end code, zero CURD, and automatic table creation — only one class file with annotation configuration is required to quickly develop enterprise-grade data management backends. Highly extensible, supporting CURD customization via `@DataProxy`, custom data sources, soft delete, LDAP, OSS, and more. ## 🎯 Low-Code Engine | Engine #### Transparent Mechanics & High Configurability: * **Annotation-driven, flexible configuration:** Control model behavior, UI rendering, data validation, and processing through annotations like `@Erupt`, `@EruptField`, and their rich properties. * **Open architecture:** Erupt’s modular core encourages developers to understand its internal mechanisms and adjust them as needed. * **Detailed logs and debugging support:** Helps developers track issues and understand internal execution flows. #### Beyond Traditional Code Generators: * **Runtime interpretation over static generation:** Erupt dynamically constructs applications through annotation parsing, avoiding bloated, hard-to-maintain generated code. * **Model-focused development:** Developers only need to define business models and annotations — Erupt handles UI rendering, data binding, API calls, and database interactions automatically. #### Deep Customization and Extensibility: * **Lifecycle hooks:** Key lifecycle points expose hooks for extending and adjusting behavior. * **`@DataProxy` interface:** Inject custom logic during data operations (e.g., before add, after edit, on query) for validations, transformations, permission control, etc. * **Custom components and views:** Easily integrate personalized front-end components or templates beyond built-in options. * **Custom data sources and dialects:** Extend support for specific databases or create your own SQL dialect adapters. #### Embracing the Spring Boot Ecosystem: * **Non-intrusive design:** Built on Spring Boot with deep Spring Data JPA integration without interfering with other Spring or third-party libraries. * **Standard JPA entities:** Erupt entity classes are standard JPA entities, reusable across other services or modules. * **Easy to integrate into existing projects:** Erupt Cloud can be progressively integrated to enhance or replace backend modules in existing Spring Boot projects. > Since 2020, Erupt has been continuously optimized and upgraded. It's already used by hundreds of companies and thousands of developers. Hundreds have contributed feature suggestions and code. ## 🥏 Beyond Code Generators While code generators improve efficiency, they produce large volumes of template code that are difficult to maintain and prone to technical debt once modified. Erupt offers a more elegant solution: * **Elevating configuration to code:** Erupt doesn’t generate code; it dynamically interprets annotations. Business logic is decoupled from core framework behavior — changing an annotation instantly updates system behavior. * **Higher abstraction:** Erupt abstracts common backend features into standardized annotations and components. Developers focus solely on business model definitions. * **Ongoing evolution and maintenance:** As a mature open-source framework, the Erupt team and community continuously enhance features and fix issues. You benefit from framework updates without maintaining generated code.   ```java @Erupt( name = "Simple Example", power = @Power(importable = true, export = true) ) @Table(name = "t_simple") // Database table name @Entity public class Simple extends BaseModel { @EruptField( views = @View(title = "Text"), edit = @Edit(title = "Text", notNull = true, search = @Search) ) private String input; @EruptField( views = @View(title = "Number", sortable = true), edit = @Edit(title = "Number", search = @Search) ) private Float number; @EruptField( views = @View(title = "Boolean"), edit = @Edit(title = "Boolean", search = @Search) ) private Boolean bool; @EruptField( views = @View(title = "Date"), edit = @Edit(title = "Date", search = @Search(vague = true)) ) private Date date; @EruptField( views = @View(title = "Slider"), edit = @Edit(title = "Slider", type = EditType.SLIDER, search = @Search, sliderType = @SliderType(max = 90, markPoints = {0, 30, 60, 90}, dots = true)) ) private Integer slide; @EruptField( views = @View(title = "Dropdown"), edit = @Edit( search = @Search, title = "Dropdown", type = EditType.CHOICE, choiceType = @ChoiceType(fetchHandler = SqlChoiceFetchHandler.class, fetchHandlerParams = "select id,name from e_upms_menu" ) ) ) private Long choice; } ``` [Feature Demo](https://www.erupt.xyz/#!/contrast) ## ⛰ Screenshots
## 🔗 Download and Usage
No need to compile source code. Just add the following dependencies to your Spring Boot project:
```xml
Official Website | GITHUB | Documentation
---Author: YuePeng / erupts@126.com