# ELADMIN Backend Management System ## Project Introduction A front-end and back-end separated management system based on Spring Boot 2.7.18, Spring Boot JPA, JWT, Spring Security, Redis, and Vue. A MyBatis-Plus version has also been released: - [GitHub](https://github.com/elunez/eladmin-mp) - [Gitee](https://gitee.com/elunez/eladmin-mp) **Documentation:** [https://eladmin.vip](https://eladmin.vip) **Demo:** [https://eladmin.vip/demo](https://eladmin.vip/demo) **Demo Account:** `admin / 123456` ## Source Code | | Backend Source | Frontend Source | |--------|---------------|----------------| | GitHub | https://github.com/elunez/eladmin | https://github.com/elunez/eladmin-web | | Gitee | https://gitee.com/elunez/eladmin | https://gitee.com/elunez/eladmin-web | ## Main Features - Uses the latest tech stack with rich community resources. - High development efficiency with code generator for one-click front-end and back-end code generation. - Supports data dictionaries for easy status management. - API rate limiting to prevent service overload from malicious requests. - Supports function-level and data-level permissions, with customizable operations. - Custom permission and anonymous API annotations for quick API interception and release. - Encapsulates common front-end components: table data requests, data dictionaries, etc. - Unified exception handling for both front and back ends, avoiding repetitive checks. - Online user management and server performance monitoring, with single-user login restriction. - Operations management for easy deployment and management of remote server applications. ## System Functions - User Management: Configure users; new users default to password `123456`. - Role Management: Assign permissions and menus, set data permissions by department. - Menu Management: Dynamic routing, back-end configurable, supports multi-level menus. - Department Management: Configure system organization structure, tree-shaped table display. - Position Management: Configure positions for each department. - Dictionary Management: Maintain common fixed data, such as status and gender. - System Log: Record user operation logs and exception logs for easy error tracking. - SQL Monitoring: Use Druid to monitor database access performance, default username `admin`, password `123456`. - Scheduled Tasks: Integrate Quartz for scheduled tasks, with task logs and task execution status. - Code Generation: High flexibility code generation for front-end and back-end, reducing repetitive work. - Email Tool: Send HTML format emails with rich text. - AWS Cloud Storage: Synchronize AWS cloud storage data to the system, no need to log in to AWS cloud to operate cloud data. - Alipay Payment: Integrate Alipay payment and provide a test account for self-testing. - Server Monitoring: Monitor server load status. - Operations Management: One-click deployment of your application. ## Project Structure The project uses a modular development approach, with the following structure: - `eladmin-common`: System public module, including various utility classes and public configurations. - `eladmin-system`: System core module and project entry module, also the final module to be packaged and deployed. - `eladmin-logging`: System log module, other modules need to import this module to record logs. - `eladmin-tools`: Third-party tool module, including email, AWS cloud storage, local storage - `eladmin-generator`: System code generation module, supporting front-end and back-end CRUD code generation. ## Detailed Structure ``` - eladmin-common Public Module - annotation System custom annotations - aspect Custom annotation aspects - base Entity, DTO base classes, and MapStruct common mapper - config Project public configurations - Web configuration: cross-domain, static resource mapping, Swagger configuration, file upload temporary path configuration - Redis configuration, Redission configuration, asynchronous thread pool configuration - Permission interception configuration, AuthorityConfig, Druid delete advertisement configuration - exception Project unified exception handling - utils System utility classes, including: - BigDecimaUtils Amount calculation utility class - RequestHolder Request utility class - SecurityUtils Security utility class - StringUtils String utility class - SpringBeanHolder Spring Bean utility class - RedisUtils Redis utility class - EncryptUtils Encryption utility class - FileUtil File utility class - eladmin-system System Core Module (Project Entry Module) - sysrunner Program startup data processing - modules System-related modules (login authorization, system monitoring, scheduled tasks, system modules, operations management) - eladmin-logging System Log Module - eladmin-tools Third-party Tool Module - email Email tool - AWS S3 cloud storage tool - alipay Alipay payment tool - local-storage Local storage tool - eladmin-generator System Code Generation Module ``` ## Special Thanks - Thanks to [PanJiaChen](https://github.com/PanJiaChen/vue-element-admin) for providing the front-end template. - Thanks to [Moxun](https://github.com/moxun1639) for providing the front-end Curd common components. - Thanks to [zhy6599](https://gitee.com/zhy6599) for providing the back-end operations management related functions. - Thanks to [j.yao.SUSE](https://github.com/everhopingandwaiting) for providing the anonymous API and Redis rate limiting functions. - Thanks to [d15801543974](https://github.com/d15801543974) for providing the annotation-based common query method. ## Project Donation The project's development relies on your support, please buy the author a cup of coffee ☕ [Donate](https://eladmin.vip/pages/030101/) ## Feedback and Discussion - QQ discussion group: 891137268, 947578238, 659622532