1. 项目背景与核心价值
作为一名长期从事校园信息化建设的开发者,我深知课外活动管理一直是学校行政工作的痛点。传统的手工登记、Excel表格管理方式存在信息滞后、统计困难、流程繁琐等问题。去年我校团委负责人向我吐槽:一场500人的讲座活动,从报名到签到要耗费3个工作人员整整两天时间,还经常出现名单遗漏、重复统计的情况。
这个基于Spring Security的课外活动管理系统,正是为解决这些痛点而生。系统采用主流的技术栈组合:
- 后端:Spring Boot 2.5 + Spring Security
- 前端:Vue 2.6 + Element UI
- 数据库:MySQL 8.0
- 安全认证:JWT + RBAC模型
技术选型思考:Spring Security提供了完善的安全控制体系,配合JWT可以实现无状态的认证机制,特别适合校园网这种需要频繁跨系统跳转的场景。Vue的组件化开发则能快速构建管理后台和移动端页面。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 整体技术架构
系统采用经典的三层架构设计:
code复制表现层(Vue) → 业务逻辑层(Spring Boot) → 数据访问层(MyBatis) → MySQL
安全控制贯穿所有层级:
- 前端:路由守卫 + 按钮级权限控制
- 网关:JWT校验过滤器
- 服务层:
@PreAuthorize注解 - 数据层:MyBatis动态SQL过滤
2.2 数据库设计要点
核心表关系设计遵循以下原则:
- 用户体系:user ←(1:N)→ registered_user/campaign_manager
- 活动主线:activity_classification ←(1:N)→ extracurricular_activities ←(1:N)→ registration_record ←(1:1)→ sign_in_record
特别注意的几个设计:
sql复制/* 防止重复报名 */
ALTER TABLE registration_record ADD UNIQUE INDEX idx_user_activity (source_user_id, source_id);
/* 签到记录自动关联报名 */
CREATE TRIGGER af
