Erupt Framework

repository·master·Indexed 25 days ago

https://github.com/erupts/erupt

An annotation-driven Java admin framework and AI harness that generates full-featured admin UIs from JPA entities with zero front-end code. It includes a production-grade AI harness for managing LLM providers, MCP tools, and agentic workflows via modules like erupt-ai and erupt-ai-claw. The ecosystem features a distributed architecture with erupt-cloud-server and erupt-cloud-node, a core runtime engine (erupt-core) for automatic CRUD API generation, and a comprehensive annotation system (erupt-annotation) for defining data model behavior.

Tokens
10.2K
Snippets
19
Records
68
Agent score
83%

What's inside Erupt

  1. Overview of erupt-tpl template engine abstraction

    master

    The erupt-tpl module provides a unified EruptTemplate interface that acts as an abstraction layer for various template engines. This allows other Erupt modules—such as erupt-print, erupt-generator, and erupt-cloud-server—to render dynamic HTML, emails, and code templates without being tightly coupled to a specific underlying engine.

    Supported pluggable engines include:

    • FreeMarker
    • Thymeleaf
    • Apache Velocity
    • Beetl
    • Enjoy
  2. Overview of erupt-upms

    master

    The erupt-upms module is the User & Permission Management System for the Erupt platform. It provides a comprehensive suite of identity and access management features including:

    • Identity Management: Management of users, roles, menus, and organizations.
    • Security: Token-based authentication, captcha verification, and IP address resolution.
    • Auditing: Operation and login audit logs, and online user tracking.
    • Integration: Open API support for external consumption.
  3. Overview of erupt-jpa

    master
    The erupt-jpa module provides a relational database data layer for the Erupt framework. It is built on top of Spring Data JPA and connects @Erupt-annotated entities to any JPA-compatible database (such as MySQL, PostgreSQL, Oracle, or H2). It implements the Erupt data SPI, allowing the core engine to perform CRUD operations, pagination, and search automatically without requiring manual DAO boilerplate code.
  4. Overview of erupt-monitor

    master

    The erupt-monitor is a system monitoring dashboard for the Erupt platform. It provides real-time visibility into server health and application performance by surfacing metrics directly as standard Erupt admin UI pages. No custom frontend development is required to use it.

    Key monitoring capabilities include:

    • System Metrics: Real-time CPU, memory, disk, and network usage (powered by oshi-core).
    • JVM Metrics: Heap memory usage and thread statistics.
    • Redis Metrics: Information regarding Redis instance status.
    • Session Management: Monitoring of active Erupt user sessions.
  5. Overview of erupt-cloud-node

    master
    The erupt-cloud-node acts as a worker node for Erupt distributed deployments. Upon startup, it registers itself with an erupt-cloud-server. Once registered, it receives proxied requests from the server and executes them locally. This architecture allows for a single, unified admin UI to manage data across multiple independently deployed Spring Boot applications by using Spring AOP for transparent request interception.
  6. Overview of erupt-cloud-server

    master

    The erupt-cloud-server acts as the control plane for Erupt distributed deployments. It is responsible for managing a fleet of erupt-cloud-node workers by:

    • Registering nodes.
    • Distributing configurations across the fleet.
    • Proxying API and UI requests to the appropriate nodes.

    It includes an admin UI for monitoring node health and management, built using erupt-admin with an Ant Design UI.

  7. Overview of erupt-print

    master

    The erupt-print module provides print and report rendering capabilities for the Erupt framework. It uses Apache Velocity templates to generate printable HTML output based on data models annotated with @Erupt.

    Key features include:

    • Custom print layouts using Velocity templates.
    • Variable substitution within templates.
    • Per-row print actions that can be triggered directly from the Erupt admin UI.
  8. Overview of erupt-toolkit

    master
    The erupt-toolkit is a collection of shared utilities designed for the Erupt framework. It provides core infrastructure components used by modules like erupt-upms and erupt-job to handle common tasks such as caching, database interaction, and data manipulation.
  9. Overview of erupt-magic-api

    master
    erupt-magic-api is a dynamic HTTP API builder for the Erupt framework, powered by magic-api. It allows you to create, edit, and publish REST endpoints at runtime using a web-based IDE. Because endpoints are defined via scripts that execute against your application's datasources, no recompilation or application restarts are required to deploy new APIs. It integrates with erupt-upms to provide access control for both the editor UI and the generated REST endpoints.
  10. Overview of erupt-excel

    master
    The erupt-excel module provides Excel import and export capabilities for Erupt data models. It is built on Apache POI and integrates transparently with the Erupt data layer. When data models are annotated, the module automatically provides Excel upload and download endpoints. It supports template-based export and field-level mapping using the @EruptField configuration.
  11. Overview of erupt-terminal

    master

    The erupt-terminal is a browser-based server terminal designed for the Erupt platform. It bridges a PTY (Pseudo-Terminal) shell—powered by pty4j—to an in-browser terminal interface using xterm.js via a WebSocket endpoint.

    Key features include:

    • Terminal resizing support.
    • Idle timeout management.
    • Cross-platform compatibility (works on both Unix and Windows).
    • Security gating via erupt-upms token and menu permission checks.