一、项目简介
本系统是一套基于 Spring Boot 3 + Vue 3 + MySQL 构建的课外活动管理平台,采用前后端分离架构。系统支持普通学生用户、教师及系统管理员三种角色,提供从活动发布、报名审核、签到打卡、心得提交到学分管理、论坛交流、数据备份的全流程闭环管理功能,适用于高校或教育机构的课外活动数字化管理场景。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.2 |
| ORM | MyBatis-Plus 3.5.5 |
| 权限认证 | 自定义拦截器 + 角色校验(学生/教师/管理员) |
| 前端框架 | Vue 3 + TypeScript |
| 状态管理 | Pinia |
| 构建工具 | Vite |
| 路由 | Vue Router 4 |
| UI 组件库 | Element Plus |
| 数据库 | MySQL 8.0 |
| 文件上传 | 本地文件存储(按日期分目录) |
| 数据导出 | CSV 格式导出 |
三、功能模块
管理员端
- 用户账号管理:新增、编辑、删除用户,支持按角色/关键字搜索,重置用户密码、启用/禁用账号
- 活动审核:审核教师提交的活动,通过或驳回(需填写驳回原因),管理活动上下架
- 活动分类管理:新增、编辑、删除分类,设置排序和启用状态,分类编码唯一校验
- 轮播图管理:新增、编辑、删除轮播图,控制启用/禁用状态
- 公告管理:新增、编辑、删除公告,手动发布/撤回,支持按类型和状态筛选
- 留言板管理:查看并处理用户留言,回复或驳回留言,查看留言统计数据
- 数据统计:查看活动统计数据(总数、已发布、待审核、已结束、分类分布)
- 论坛管理:置顶/取消置顶、屏蔽/解封帖子,处理举报(通过/驳回),屏蔽违规回复
- 数据备份:手动创建备份、恢复备份、删除备份记录
- 学分申诉管理:处理学生的学分申诉,同意或驳回
普通用户端
- 活动浏览:查看已发布活动列表,支持按关键字、分类、学分类型筛选,查看活动详情(含浏览量、报名状态、教师信息)
- 活动报名:在线报名活动,系统自动校验报名时间范围、人数上限及是否已报名,报名后进入待审核状态
- 报名撤回:撤回自己的报名申请(仅限待审核状态的报名记录)
- 活动签到:使用签到码进行活动签到,或由教师手动签到(支持已签到、迟到、缺勤三种状态)
- 心得提交:提交活动心得报告,支持附件上传,提交后由教师审核
- 活动评价:对已参加的活动进行评价,可对教师进行评分和文字评价
- 收藏管理:收藏/取消收藏感兴趣的活动,并在个人中心查看收藏列表
- 论坛互动:发布帖子、回复帖子,查看热门/最新帖子
- 留言板:提交咨询或反馈,查看教师回复并确认已读
- 学分查看:查看个人学分汇总(总学分、已审核、待审核学分),并提交学分申诉
- 通知与公告:查看系统通知列表,标记已读,一键全部已读,查看未读数量;查看已发布的公告,支持按目标角色筛选,记录阅读状态
- 个人设置:修改个人资料和密码
教师端
- 活动创建:创建课外活动,填写标题、分类、封面图、活动时间、报名时间、人数上限、学分类型与分值、活动地点、内容详情
- 活动编辑:编辑自己创建的活动,支持修改活动基本信息
- 活动列表:查看自己创建的活动列表,支持按关键字、分类、状态筛选
- 报名审核:审核学生的报名申请,通过或驳回(需填写驳回原因)
- 手动签到:对已通过报名的学生进行签到操作(已签到/迟到/缺勤)
- 签到码生成:为活动生成6位随机签到码,设置有效时长(默认30分钟),查看当前有效签到码
- 数据导出:导出报名数据为CSV文件,按活动筛选,包含学生姓名、学号、院系、专业、年级、班级、报名状态、签到状态、报名时间
- 心得审核:审核学生提交的活动心得,通过或驳回(需填写驳回原因)
- 统计查看:查看活动的报名统计和签到统计
- 记录查看:查看自己负责活动的报名记录和心得记录
四、项目总结
本项目技术亮点在于采用 Spring Boot 3 + Vue 3 最新版本组合,搭配 MyBatis-Plus 实现高效数据操作,通过自定义拦截器完成角色权限控制,同时覆盖了活动管理、签到、学分、论坛等完整业务闭环。适用于高校课外活动管理系统的课程设计、毕业设计或企业级项目二次开发参考。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K109