一个基于 Spring Boot 3 + Vue 3 的学生评教与互动管理系统。项目主要实现了多角色权限隔离、实时的评分数据广播,以及包含基础防作弊校验的内嵌娱乐模块。可以作为常规的练手项目或二次开发模板使用。
- 多角色权限控制:区分管理员(Admin)、讲师(Teacher)和学员(Student),通过 Spring Security 和 Vue Router 路由守卫实现功能隔离。
- 数据实时推送:基于 Server-Sent Events (SSE) 实现轻量级的战报/评分全局广播。
- 并发与安全控制:内置简单的并发锁限制(防刷单)以及基础的时间-分数物理校验算法(用于娱乐模块的反作弊)。
后端:
- Spring Boot 3.x
- Spring Security + JWT(包含对 SSE EventSource 的 URL Token 鉴权适配)
- MyBatis-Plus
- MySQL 8.0+
前端:
- Vue 3 (Composition API)
- Vite
- Pinia (状态管理)
- Vue Router
- Element Plus
- 安装 MySQL,新建对应数据库。
- 根据项目中提供的 SQL 脚本完成表结构和基础数据的初始化。
- 进入
back目录。 - 修改
src/main/resources/application.yml中的数据库连接配置(url,username,password)。 - 使用 Maven 编译并运行:
mvn clean compile mvn spring-boot:run
- 进入
front目录。 - 安装依赖并启动本地开发服务器:
npm install npm run dev
- 生产环境打包构建:
npm run build
/back- Spring Boot 后端工程代码/front- Vue 3 前端工程代码
MIT License