erupt

✨ Erupt Engine: Java Annotation-Driven Low-Code + AI Base Framework. Build Enterprise Apps Fast & Efficiently.

2603
488
Java

中文   |   English

logo

ERUPT   🚀   An Efficient Low-Code Engine for Developers

Low-Code + AI, Making Development Easier

https://www.erupt.xyz


maven-central license Apache 2.0 GitHub stars GitHub forks gitcode Gitee star Gitee fork

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.

result
result

@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

⛰ Screenshots

🔗 Download and Usage

No need to compile source code. Just add the following dependencies to your Spring Boot project:

<!-- Core Dependency -->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-admin</artifactId>
    <version>LATEST-VERSION</version>
</dependency>
<!-- Admin Web UI -->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-web</artifactId>
    <version>LATEST-VERSION</version>
</dependency>

Latest version: maven-central

Detailed Installation Guide

🌕 Live Demo

Demo: https://www.erupt.xyz/demo
Account/Password: guest / guest

Supports modern browsers and runs on Electron or other Web standard-based environments

🔭 Recommended Projects

🧩 Join the Community

QQ Group: 836044286 🔥

WeChat Group: Follow the EruptGuide public account to get the latest group QR code (updated weekly)

ERUPT — Empower Java Developers to Build Backends More Efficiently and Flexibly. Join Us to Explore the Future of Low-Code in Professional Development!

⛽️ Donate

The author personally covers the costs of servers, domains, hosting, and maintenance.
Open source is not easy — a cup of coffee is appreciated 🙏

Donate Here


⭐️ Licensed under Apache License 2.0 — Open Source and Free to Use. If You Like It, Please ⭐ Star the Project to Show Support!


Official Website   |   GITHUB   |   Documentation


Author: YuePeng   /   [email protected]