Springboot3+Vue3+MySQL 校园活动管理系统源码 前后端分离 协同过滤推荐
📅 2026/7/13 6:36:10
👁️ 阅读次数
📝 编程学习
一、项目简介
本项目是一个基于 Springboot3 + Vue3 + MySQL 构建的校园活动管理平台,采用前后端分离架构。系统包含三个角色:普通学生用户、活动组织者(教练端)以及系统管理员(管理员端)。核心功能涵盖活动发布与审核、在线报名签到、收藏点赞评价、消息通知以及基于物品协同过滤的个性化活动推荐。整体架构清晰,适合作为学习前后端分离开发、权限控制、推荐算法落地的实战项目。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x |
| ORM | Mybatis-Plus |
| 权限认证 | JWT(自定义拦截器) |
| 密码加密 | BCrypt(Hutool 工具包) |
| 前端框架 | Vue 3 |
| 状态管理 | Pinia |
| 前端路由 | Vue Router |
| 构建工具 | Vite |
| 数据库 | MySQL |
| 文件上传 | 本地文件存储 |
| 推荐算法 | 基于物品的协同过滤(Item-Based CF) |
三、功能模块
普通用户端
- 查看活动列表:支持按活动类型、关键词搜索,以及按热度、时间、默认排序,分页展示。
- 查看活动详情:展示活动名称、时间、地点、类型、报名状态、收藏/点赞状态等字段。
- 报名活动:提交报名申请,系统记录报名时间与状态。
- 取消报名:按活动ID或报名记录ID取消报名,更新报名状态。
- 查看我的报名记录:支持按状态(已报名/已取消/已参与)筛选,分页展示。
- 收藏/取消收藏活动:收藏后可在“我的收藏”中查看,支持取消收藏。
- 点赞/取消点赞活动:点赞后活动热度增加,支持取消点赞。
- 发表活动评价:评分1-5星,填写评价内容,提交后展示在活动详情页。
- 查看我的收藏列表:分页展示已收藏的活动,包含活动名称、时间、操作按钮。
- 查看我的评价历史:分页展示历史评价,包含评分、内容、活动名称。
- 签到:输入活动签到验证码完成签到,记录签到时间。
- 查看我的签到记录:分页展示已签到的活动,包含签到时间、活动名称。
- 查看个性化推荐活动列表:基于物品协同过滤算法,推荐与用户历史行为相似的活动。
- 查看热门活动排行:按报名数、收藏数、点赞数综合热度排序。
- 查看消息通知列表:支持按通知类型筛选,分页展示。
- 标记通知已读:支持单条标记已读或全部标记已读。
- 查看未读通知数量:在导航栏显示未读通知数。
- 查看个人资料:展示用户名、邮箱、头像等基本信息。
- 更新个人资料:修改用户名、邮箱、头像等字段。
- 修改密码:需输入旧密码和新密码,使用 BCrypt 加密存储。
- 查看首页轮播图:仅展示启用的轮播图,支持点击跳转。
管理员端
- 查看用户列表:支持按角色(学生/组织者/管理员)、关键词搜索,分页展示。
- 禁用/启用用户账号:修改用户状态,禁用后无法登录系统。
- 重置用户密码:重置为默认密码 123456。
- 删除用户:物理删除用户记录,需确认操作。
- 查看待审核的活动管理员入驻申请:分页展示申请列表,包含申请人、申请时间。
- 审核活动管理员入驻申请:通过或拒绝,填写审核备注,自动发送通知给申请人。
- 查看所有活动列表:支持按状态(待审核/已通过/已拒绝/已下架)、关键词搜索,分页展示。
- 审核活动:通过或拒绝,填写审核备注,自动发送通知给组织者。
- 下架/上架活动:下架后活动对用户不可见,上架后恢复可见。
- 查看所有报名数据:支持按活动ID、报名状态筛选,分页展示。
- 删除违规评价:根据用户举报或审核,删除不合适的评价内容。
- 管理轮播图:支持添加、编辑、删除轮播图,分页查看。
- 管理活动类型:支持添加、删除活动类型,如“讲座”、“比赛”等。
- 手动触发物品相似度计算:触发协同过滤算法的相似度矩阵更新。
- 查看管理员工作台汇总统计:包含活动总数、用户总数、报名总数等指标。
- 查看指定活动的签到数据统计:展示签到人数、未签到人数、签到率。
- 查看指定活动的签到记录:分页展示签到详情,包含用户、签到时间。
- 查看热门活动排行:按综合热度排序展示。
教练端
- 发布活动:填写活动名称、时间、地点、类型、详情等字段,支持保存草稿或直接提交审核。
- 提交活动审核:草稿或被拒绝状态的活动可提交为待审核状态。
- 编辑活动:编辑后需重新提交审核,活动状态变为待审核。
- 删除活动:仅可删除自己创建的活动,需确认操作。
- 查看我的活动列表:支持按状态(草稿/待审核/已通过/已拒绝/已下架)筛选,分页展示。
- 查看指定活动的报名列表:支持按报名状态筛选,分页展示报名用户信息。
- 审核报名:通过或拒绝报名申请,填写审核备注。
- 标记报名用户为已参与:手动标记用户已参与活动,用于统计。
- 查看指定活动的评价列表:分页展示用户评价,包含评分、内容、评价时间。
- 回复评价:对用户评价进行回复,展示在评价下方。
- 查看组织者工作台汇总统计:包含活动数、报名数、参与人次、平均评分等。
- 查看指定活动的数据统计:包含报名统计、签到统计、评分分布、日报名趋势图表。
- 生成签到数字码:设置位数(如6位)和有效时长(如10分钟),生成临时签到码。
- 查看指定活动的签到数据统计:展示签到人数、未签到人数、签到率。
- 查看指定活动的签到记录:分页展示签到详情。
- 补签处理:为指定用户补签到,填写补签原因,记录补签时间。
- 查看与指定活动相似的活动列表:基于物品协同过滤算法,展示相似度百分比。
- 查看我的通知列表:分页展示系统通知,包含类型、内容、时间。
- 设置活动提醒:选择活动并设置提前N分钟提醒,系统在指定时间发送通知。
四、项目总结
本项目的技术亮点在于将基于物品协同过滤的推荐算法完整落地,并与活动管理业务深度融合,实现了个性化活动推荐、相似活动推荐等功能。同时,JWT 权限控制、BCrypt 密码加密、Mybatis-Plus 的便捷 CRUD、Vue 3 + Pinia 的前端状态管理等均为现代企业级开发标准实践。项目功能完备,涵盖活动生命周期管理、签到、评价、通知、轮播图管理、统计看板等真实业务场景,非常适合 Java 全栈开发者用于学习前后端分离架构、推荐算法集成、权限设计与数据可视化。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K049
编程学习
技术分享
实战经验