面向高校科研业务的全栈管理平台课程项目:覆盖教师、学生、项目、成果、经费与评审专家管理,并用统计看板把基础 CRUD 转化为可演示的业务洞察。
- 业务闭环:统一管理科研项目、成果、经费和评审关系,并提供经费占比、评审冲突、教师成果分布等统计报表。
- 全栈落地:Spring Boot REST API、MyBatis-Plus/MySQL 数据层与原生前端/ECharts 可视化协同运行。
- 安全边界明确:README 明确区分课程演示与生产使用,记录了登录鉴权、审计日志、DTO 校验和数据库迁移等后续工程化方向。
一个用于课程设计演示的高校科研项目管理平台,提供教师、学生、项目、成果、经费和评审专家的基础管理接口,以及经费占比、评审冲突、教师成果分布等统计报表。
此项目为教学演示系统,尚未实现登录、角色授权和审计日志。请勿将其直接部署到公网或用于真实科研数据。
- Java 17 / Spring Boot 3.5
- MySQL 8.x / MyBatis-Plus
- 原生 HTML、CSS、JavaScript / ECharts
- Maven Wrapper、Node.js 20+(前端本地开发)
-
安装并启动 MySQL 8.x,创建一个空数据库:
CREATE DATABASE research_platform DEFAULT CHARACTER SET utf8mb4;
-
配置数据库凭据。PowerShell 示例:
$env:DB_USERNAME = "root" $env:DB_PASSWORD = "你的本地数据库密码"
也可在
src/main/resources/application-local.yml中放置本地配置;该文件已被 Git 忽略。 -
启动后端:
.\mvnw.cmd spring-boot:run
-
打开
http://localhost:8080。
默认配置不会自动改动数据库。若需要重新生成课程演示数据,请显式启用 dev Profile:
$env:SPRING_PROFILES_ACTIVE = "dev"
.\mvnw.cmd spring-boot:rundev Profile 会执行 init.sql,其中包含 DROP TABLE 和样例数据插入操作;只可用于空的本地演示数据库。
cd src/main/frontend
npm run dev前端源码位于 src/main/frontend/src。执行 npm run build 会生成 dist,该目录是构建产物,不应提交到 Git。
- 增加 Spring Security、用户登录与管理员/教师角色授权;
- 为新增、修改、删除请求增加 DTO 和 Bean Validation;
- 以 Flyway 或 Liquibase 管理数据库迁移,不在启动时执行建表/删表脚本;
- 为 REST 接口、统计逻辑和权限控制补充自动化测试;
- 将前端构建接入 Maven 或 CI,确保发布内容来自唯一源码。
本项目采用 MIT License。