1. 项目背景与核心价值
学科竞赛管理平台是高校教学管理信息化的重要组成部分。传统的人工管理方式存在报名流程繁琐、数据统计困难、信息传递滞后等问题。我在实际参与学校竞赛组织工作时,经常遇到Excel表格满天飞、不同部门数据对不上、获奖证书信息错乱等情况。
这个基于SpringBoot+Vue+MySQL的竞赛管理平台,实现了从竞赛发布、团队报名、作品提交到成绩公示的全流程数字化管理。平台上线后,某高校数学建模竞赛的组织效率提升了60%,错误率从原来的15%降至不足1%。这种前后端分离的架构设计,既保证了后台管理的稳定性,又提供了流畅的前端用户体验。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 整体技术选型
后端采用SpringBoot 2.7.x框架,主要基于以下考虑:
- 内嵌Tomcat服务器简化部署
- 自动配置特性减少XML配置
- 丰富的Starter依赖(如spring-boot-starter-data-jpa)
- 完善的监控端点(Actuator)
前端选用Vue 3 + Element Plus组合:
- Composition API更适合复杂业务逻辑
- Vite构建速度比Webpack快10倍以上
- Element Plus的表格组件完美适配竞赛数据展示
数据库使用MySQL 8.0:
- JSON字段支持存储动态表单数据
- 窗口函数方便排名统计
- 成本远低于商业数据库
2.2 关键架构设计
采用经典的RBAC权限模型:
java复制@Entity
public class Role {
@Id @GeneratedValue
private Long id;
private String name;
@ManyToMany
private Set<Permission> permissions;
}
文件存储方案对比:
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 本地存储 | 部署简单 | 扩容困难 | 小型竞赛 |
| FastDFS | 高可用 | 配置复杂 | 省级以上竞赛 |
| 阿里云OSS | 弹性扩展 | 产生费用 | 经费充足项目 |
