https://github.com/lakernote/easy-next-admin
Spring Boot 3 + Vue 3 企业后台脚手架,内置 RBAC 权限、组织用户、审计、监控、工作流与文件中心。
https://github.com/lakernote/easy-next-admin
admin-dashboard element-plus enterprise-admin java17 mybatis-plus rbac spring-boot typescript vue3 workflow
Last synced: 14 days ago
JSON representation
Spring Boot 3 + Vue 3 企业后台脚手架,内置 RBAC 权限、组织用户、审计、监控、工作流与文件中心。
- Host: GitHub
- URL: https://github.com/lakernote/easy-next-admin
- Owner: lakernote
- License: apache-2.0
- Created: 2026-06-22T01:31:04.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-22T05:19:07.000Z (about 1 month ago)
- Last Synced: 2026-06-22T07:18:31.556Z (about 1 month ago)
- Topics: admin-dashboard, element-plus, enterprise-admin, java17, mybatis-plus, rbac, spring-boot, typescript, vue3, workflow
- Language: Java
- Homepage:
- Size: 1.94 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# EasyNextAdmin
[](https://github.com/lakernote/easy-next-admin/actions/workflows/ci.yml)
[](LICENSE)
[](https://adoptium.net/)
[](https://vuejs.org/)
[](https://github.com/lakernote/easy-next-admin)
[](https://gitee.com/lakernote/easy-next-admin)
EasyNextAdmin 是一套面向中文企业后台二次开发的 Spring Boot 3 + Vue 3 开源脚手架。它不是只展示页面的空壳模板,而是把企业后台常见的用户组织、角色权限、菜单路由、数据范围、审计、监控、文件、消息、定时任务和轻量流程串成一套可运行的工程基线。
如果你要做 OA、运营后台、审批流、权限审计、运维管理、内部工具或企业信息化系统,EasyNextAdmin 的目标是让团队拉下代码后少搭基础设施,直接进入业务开发。
## 为什么选择 EasyNextAdmin
- **真实后台闭环**:登录、菜单、按钮权限、角色授权、数据范围、用户导入导出、审计、监控、WebLog、文件和流程都能本地跑通。
- **前后端契约清晰**:菜单和权限资源以服务端 `sys_menu` 为事实源,前端动态路由和按钮权限都来自后端授权结果。
- **技术栈新且克制**:Spring Boot 3、Java 17、Vue 3、TypeScript、Vite、Element Plus,不引入低代码、BI 或完整 BPM 平台的复杂度。
- **适合二开学习**:代码按企业后台真实模块拆分,核心位置保留简洁中文注释,便于团队理解和扩展。
## 项目状态
当前处于公开 alpha 阶段,核心功能已具备本地启动、测试和构建验证;生产上线前仍应替换数据库、Redis、域名、HTTPS、默认账号密码和会话安全方案。
| 适合 | 不适合 |
| --- | --- |
| 中文企业后台二次开发、权限/组织/审计/流程类内网系统、需要前后端分离脚手架的团队 | 低代码平台、BI 平台、完整 BPM 引擎、只展示 UI 模板的项目 |
## 界面预览
业务工作台:

核心业务流:
| 提交申请单 | 审批待办列表 | 审批处理 |
| --- | --- | --- |
|  |  |  |
查看更多界面截图


## 技术栈
| 层 | 技术 |
| --- | --- |
| 后端 | Java 17、Spring Boot 3.5、MyBatis-Plus、Flyway、Spring Actuator、springdoc-openapi、Redisson、Caffeine |
| 前端 | Vue 3、TypeScript、Vite、Pinia、Vue Router、Axios、Element Plus、ECharts、LogicFlow |
| 本地依赖 | MySQL 8.4 LTS、Redis 7.4 |
| 部署 | 后端可打 JAR 或 Docker 镜像,前端输出静态资源并由 Nginx 托管 |
## 快速启动
环境要求:
- JDK 17+
- Maven 3.9+
- Node.js 22 LTS 或 24 LTS,以及随 Node.js 安装的 npm
- Docker 和 Docker Compose
启动本地依赖:
```bash
docker compose up -d
```
启动后端:
```bash
cd easy-next-admin-server
mvn spring-boot:run
```
启动前端:
```bash
cd easy-next-admin-web
npm ci
npm run dev
```
首次启动时,后端会通过 Flyway 自动创建表结构和初始化演示数据。
访问地址:
- 前端:http://127.0.0.1:5174
- 后端:http://127.0.0.1:8080
- OpenAPI:http://127.0.0.1:8080/swagger-ui.html
默认演示账号。登录页只在 `local` profile 通过 `/api/auth/demo-accounts` 返回这些账号;生产 profile 不返回演示密码,正式环境必须替换初始化密码:
| 角色 | 账号 | 密码 | 用途 |
| --- | --- | --- | --- |
| 超级管理员 | `admin` | `admin` | 查看和维护全部内置能力 |
| 部门负责人 | `manager` | `easynext` | 组织、流程和部门数据 |
| 普通员工 | `staff` | `easynext` | 工作台和个人流程入口 |
| 审计人员 | `auditor` | `easynext` | 审计记录和财务复核类待办 |
更完整的本地开发说明见 [本地开发](docs/getting-started.md)。
## 内置能力
- **工作台**:聚合个人待办、常用申请、系统能力和关键统计。入口:`/dashboard`
- **系统管理**:用户、直属上级、用户导入导出、角色、菜单权限、部门负责人、组织架构和文件中心。入口:`/system/users`、`/system/roles`、`/system/menus`、`/system/departments`、`/system/files`
- **报表中心**:组织人员台账和采购流程复核的 A4 纸质报表预览与打印。入口:`/reports/enterprise`
- **运行监控**:应用运行状态、在线用户、缓存指标、缓存键值和在线请求日志。入口:`/monitor/server`、`/monitor/online`、`/monitor/cache`、`/monitor/cache-list`、`/monitor/weblog`
- **审计中心**:登录、操作、数据变更、错误和接口访问审计。入口:`/audit/behavior`
- **任务调度**:动态任务定义、启停和执行日志。入口:`/schedule/jobs`
- **流程中心**:统一发起请假、采购、报修流程,处理我的流程;按直属上级、部门负责人、职能角色等规则派单,管理员可监控流程实例和维护流程配置。入口:`/workflow/start`、`/workflow/tasks`、`/workflow/instances`、`/workflow/console`
- **消息中心**:个人消息、流程通知、审计提醒和任务消息。入口:`/messages`
- **个人中心**:个人资料、改密、登录历史和会话管理。入口:`/profile/security`
功能说明、组件用法和实现原理见 [功能与组件](docs/features-and-components.md)。
## 工程结构
```text
easy-next-admin
├── easy-next-admin-server # Spring Boot 3 服务端
│ └── Dockerfile # 服务端镜像构建
├── easy-next-admin-web # Vue 3 + Vite + Element Plus 前端
│ ├── Dockerfile # 前端镜像构建
│ └── nginx.conf # 前端容器 Nginx 配置
├── docs # 开源项目文档
├── docker-compose.yml # 本地 MySQL、Redis 依赖
└── pom.xml # Maven 聚合工程
```
菜单、页面路由、角色授权资源和页面权限码以服务端 `sys_menu` 为唯一事实源。前端只通过 `/api/auth/me` 接收当前账号可见菜单,并在 `easy-next-admin-web/src/router/dynamicRoutes.ts` 中把 `component_path` 解析到本地 Vue 页面;按钮权限使用 `v-permission`,后端接口继续由 `@EasyPermission` 兜底。
## 编译打包
后端:
```bash
mvn -pl easy-next-admin-server -am -DskipTests package
```
产物:
```text
easy-next-admin-server/target/easyNextAdmin.jar
```
前端:
```bash
cd easy-next-admin-web
npm ci
npm run build
```
产物:
```text
easy-next-admin-web/dist
```
部署方式、Nginx 反向代理、Docker 构建和生产配置覆盖见 [编译与部署](docs/deployment.md)。
## 发布前验证
发布或提交 PR 前建议至少运行:
```bash
mvn -pl easy-next-admin-server -am verify
cd easy-next-admin-web
npm ci
npm run test:unit
npm run build
```
本仓库已配置 GitHub Actions,在 `main` 分支 push 和 pull request 时会执行后端 `verify`、前端单元测试和前端构建。
## 文档
- [文档目录](docs/README.md)
- [本地开发](docs/getting-started.md)
- [编译与部署](docs/deployment.md)
- [功能与组件](docs/features-and-components.md)
- [架构与实现原理](docs/architecture.md)
- [参考项目与借鉴边界](docs/reference-projects.md)
## 开源协作
- [贡献指南](CONTRIBUTING.md)
- [安全策略](SECURITY.md)
- [行为准则](CODE_OF_CONDUCT.md)
默认启动不需要额外 `.env` 文件。Docker Compose 依赖端口和前端开发代理都带默认值,确需覆盖时可用命令行环境变量或本机不提交的 `.env` / `easy-next-admin-web/.env.local`。`.editorconfig` 用于统一 IDE/编辑器格式;默认账号和默认密码只用于本地开发,生产环境必须覆盖。
## 参考项目
EasyNextAdmin 主要参考 RuoYi/RuoYi-Vue 的中文企业后台习惯,参考 Vben Admin 的前端权限与路由组织思路,参考 Flowable/Camunda 在流程领域的产品边界,同时直接使用 Element Plus、ECharts、LogicFlow 等开源组件。详细说明见 [参考项目与借鉴边界](docs/reference-projects.md)。
## 许可证
本项目使用 [Apache License 2.0](LICENSE)。