Skip to content
forked from erupts/erupt

🚀 对象模型 → 数据可视化管理 0️⃣ 前端代码、0️⃣ 代码生成、0️⃣ SQL、0️⃣ API声明、0️⃣ DTO / VO / BO、表结构自动生成 🛡 内置严密安全策略,细颗粒权限隔离 ☁️ Cloud开发能力,不停机升级,轻依赖,集群内每个服务都可以轻松实现数据可视化 ️☁️

License

Notifications You must be signed in to change notification settings

cai-peiyuan/erupt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,839 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

English   |   中文

logo

ERUPT   🚀   Low-code

Annotation-driven development, zero front-end code, zero CRUD, multi-dimensional data management


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

GitHub   |   GitCode   |   Gitee   |   Official Website   |   Ecosystem   |   Online Demo   |   Documentation

erupt


🚀 Low-code Development

@Erupt annotation enables out-of-the-box functionality in all scenarios

  • Visualization: Tables / Trees / Gantt Charts / Cards + 20+ form components
  • Data: Full database compatibility, API data sources, automatic table/index creation, LambdaQuery multi-table queries, dynamic CRUD
  • API: One-click OpenAPI exposure, row/column permission control
  • Permissions: UPMS / Class / Row/Column / Role multi-dimensional management
  • Extensions: i18n, Cloud clustering, audit & event logs, BI, SaaS, AI large models
  • Form Reusability: Flow processes, custom nodes, custom buttons

Quick Start

Annotation Example

@Erupt(
        name = "Simple",
        power = @Power(importable = true, export = true),
        @RowOperation(
                title = "Custom Action",
                mode = RowOperation.Mode.SINGLE,
                operationHandler = OperationHandlerImpl.class
        )
)
@Table(name = "t_simple")   //DB 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 = "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 = "Choice Select"),
            edit = @Edit(
                    search = @Search,
                    title = "Choice Select", type = EditType.CHOICE,
                    choiceType = @ChoiceType(fetchHandler = SqlChoiceFetchHandler.class,
                            fetchHandlerParams = "select id,name from e_upms_menu"
                    )
            )
    )
    private Long choice;

}

JPA LambdaQuery

public void select() {
    List<EruptUser> list = eruptDao.lambdaQuery(EruptUser.class)
            .like(EruptUser::getName, "e")
            .isNull(EruptUser::getWhiteIp)
            .in(EruptUser::getId, 1, 2, 3, 4)
            .ge(EruptUser::getCreateTime, "2023-01-01")
            .list();
}

Feature Demo

⛰ Demo Screenshots

🔗 Download and Use

No need to compile source code. Simply 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>
<!--Backend WEB interface-->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-web</artifactId>
    <version>${LATEST-VERSION}</version>
</dependency>

Latest Version

maven-central

Detailed Usage Steps

🌕 Online Demo

Demo URL: https://www.erupt.xyz/demo

Username/Password: guest / guest

Supports mainstream modern browsers and can run directly on Electron and other web-standard-based environments

🔭 Open Source Recommendations

Linq.J: Object query language based on JVM

magic-api: Rapid interface development framework

Jpom: Lightweight low-invasive online build, automatic deployment, daily operations and maintenance, project monitoring software

🤝 Contributing

Erupt is a free and open-source project. We welcome anyone to contribute to Erupt to help improve it. This includes but is not limited to: submitting code, reporting bugs, sharing ideas, or sharing your use cases based on Erupt. We also welcome users to share Erupt on personal blogs or social media.

If you want to contribute code, please read our Contribution Guidelines first.

Please submit Issues and Pull Requests at https://github.com/erupts/erupt.

Thanks to the following contributors for their contributions to Erupt:

Contributors

⭐️ Licensed under Apache License 2.0, source code is free and open source. Open source is not easy, please give the author a Star if you like it


Author: YuePeng   /   erupts@126.com


About

🚀 对象模型 → 数据可视化管理 0️⃣ 前端代码、0️⃣ 代码生成、0️⃣ SQL、0️⃣ API声明、0️⃣ DTO / VO / BO、表结构自动生成 🛡 内置严密安全策略,细颗粒权限隔离 ☁️ Cloud开发能力,不停机升级,轻依赖,集群内每个服务都可以轻松实现数据可视化 ️☁️

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 93.6%
  • HTML 5.6%
  • Vue 0.3%
  • FreeMarker 0.2%
  • TypeScript 0.2%
  • Shell 0.1%