项目简介
项目概述
简介
Duke 脚手架 是一个基于 Vue3 + Spring Boot 的前后端分离的现代化后台管理系统。该系统采用 DDD(领域驱动设计) 分层架构,提供完整的用户权限管理、系统监控、数据字典等核心功能,是一个企业级的通用管理平台。
主要特性
现代化架构
- 📊 前端:Vue 3 + TypeScript + Vite + Element Plus
- 🛠️ 后端:Spring Boot 2.7.3 + MyBatis Plus + Spring Security
- 📚 架构:DDD 分层架构,支持微服务演进
- 📋 数据库:MySQL 5.7+ + Redis 6.0+
完善权限体系
- RBAC 权限模型:基于角色的访问控制
- 细粒度权限:菜单权限、按钮权限、数据权限
- JWT 认证:无状态的身份认证机制
- 动态权限:支持运行时权限调整
开发效率提升
- 代码生成器:基于数据库表结构自动生成 CRUD 代码
- 组件化开发:丰富的可复用组件库
- API 文档:集成 Knife4j,自动生成接口文档
- 热重载开发:前端开发环境热重载
系统监控
- 在线用户监控:实时监控用户在线状态
- 操作日志:完整的用户操作审计
- 登录日志:登录记录和安全审计
- 系统监控:服务器状态和性能监控
技术栈
前端技术栈
├── Vue 3.3.4 # 渐进式 JavaScript 框架
├── TypeScript 5.1.3 # 类型安全的 JavaScript
├── Vite 4.4.7 # 下一代前端构建工具
├── Element Plus 2.3.8 # Vue 3 组件库
├── Pinia 2.1.4 # Vue 状态管理
├── Vue Router 4.2.4 # Vue 官方路由
├── Axios 1.4.0 # HTTP 客户端
├── ECharts 5.6.0 # 数据可视化图表
└── Sass # CSS 预处理器
后端技术栈
├── Spring Boot 2.7.3 # 企业级 Java 框架
├── Spring Security # 安全框架
├── MyBatis Plus 3.5.3.1 # 数据访问框架
├── MySQL 5.7+ # 关系型数据库
├── Redis 6.0+ # 缓存数据库
├── JWT 0.11.5 # 身份认证
├── Knife4j 4.1.0 # API 文档
├── Druid 1.2.15 # 数据库连接池
└── Maven # 项目管理工具
项目结构
duke/
├── duke-vue/ # 前端项目
│ ├── src/
│ │ ├── api/ # API 接口
│ │ ├── components/ # 公共组件
│ │ ├── layout/ # 布局组件
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理
│ │ ├── utils/ # 工具函数
│ │ └── views/ # 页面组件
│ ├── public/ # 静态资源
│ └── package.json # 项目配置
└───duke-boot/ # 后端项目
├── duke-admin/ # 应用启动模块
├── duke-common/ # 公共模块
├── duke-framework/ # 框架核心模块
├── duke-system/ # 系统管理模块
├── duke-monitor/ # 监控模块
└── pom.xml # Maven 配置
核心功能
用户权限管理
- 用户管理:用户增删改查、密码重置、状态管理
- 角色管理:角色创建、权限分配、状态控制
- 菜单管理:动态菜单配置、权限控制
- 部门管理:组织架构管理、层级关系
系统管理
- 字典管理:系统字典配置、数据维护
- 参数配置:系统参数设置、动态配置
- 岗位管理:岗位信息维护、人员分配
- 通知公告:系统通知发布、消息推送
系统监控
- 在线用户:实时监控、强制下线
- 操作日志:用户操作记录、审计追踪
- 登录日志:登录记录、安全审计
- 系统信息:服务器状态、性能监控
安全特性
- JWT 认证:无状态的身份认证
- RBAC 权限:基于角色的访问控制
- SQL 注入防护:参数化查询
- XSS 防护:输入输出过滤
- CSRF 防护:跨站请求伪造防护
- 密码加密:BCrypt 密码加密
