一、项目简介
校园社团活动智能匹配与推荐系统是一套面向高校学生、社团负责人和管理员的前后端分离平台。后端采用 Spring Boot、MyBatis、MySQL 和 JWT,前端采用 Vue、Vue Router、Vuex 与 ECharts;系统通过活动、社团、用户、成员、报名和推荐等业务模块,为学生提供社团活动发现、报名与个性化推荐服务。
后端实际包含活动、社团、社团成员、活动报名、用户、文件、推荐和后台管理等控制器。系统将用户兴趣、浏览和报名行为与活动内容结合,支持基于协同过滤、内容相似度和混合策略的活动匹配。
二、系统功能
1.1 学生端功能
注册登录与个人资料
学生可注册、登录并维护个人资料。系统通过 JWT 令牌控制需要登录的接口访问,用户可在个人中心管理兴趣偏好和基础信息,为推荐计算提供用户画像数据。
社团浏览与成员管理
学生可浏览社团列表和社团详情,了解社团介绍、活动信息和成员情况;系统提供社团成员相关业务接口,用于处理成员加入和成员信息查询等操作。
活动浏览、检索与报名
学生可查看活动列表和活动详情,根据活动内容、时间等信息选择感兴趣的活动。通过报名模块提交活动报名后,可查询个人报名记录与活动参与状态。
个性化活动推荐
推荐模块根据用户兴趣标签、活动内容及用户行为生成活动候选结果。系统支持协同过滤、基于内容的相似度计算和混合推荐策略,帮助学生从大量社团活动中更快发现符合偏好的内容。
文件与素材使用
系统提供文件接口,支持活动或社团相关图片、资料的上传和访问,为活动详情展示与运营内容维护提供素材支撑。
1.2 管理员端功能
用户与社团信息管理
管理员可通过后台模块维护用户、社团与成员相关数据,查看用户信息并保证社团基础资料、成员关系和平台内容正常运行。
活动发布与报名管理
管理员可创建、编辑、查询和维护活动信息,查看报名记录并处理活动运营相关数据。活动内容更新后,前端活动列表和推荐候选内容同步使用最新信息。
推荐与运营数据维护
管理员可维护用户标签、活动分类等推荐所需基础数据,并结合活动、报名和用户情况查看运营数据,为活动发布和推荐策略调整提供依据。
三、技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Java 8、Spring Boot 2.7.18 | Web 服务与业务接口 |
| 数据访问 | MyBatis | 用户、活动、报名和社团数据持久化 |
| 数据库 | MySQL 8.0 | 平台核心业务数据存储 |
| 身份认证 | JWT | 登录令牌与接口访问控制 |
| 前端 | Vue 2、Vue Router、Vuex、Axios、ECharts | 页面交互、路由、状态和数据展示 |
| 推荐策略 | 协同过滤、内容相似度、混合推荐 | 活动匹配与推荐排序 |
四、项目结构
c69/
├── campus-club-backend/
│ ├── src/main/java/com/campus/
│ │ ├── controller/
│ │ │ ├── ActivityController.java # 活动接口
│ │ │ ├── ClubController.java # 社团接口
│ │ │ ├── ClubMemberController.java # 社团成员接口
│ │ │ ├── RegistrationController.java # 活动报名接口
│ │ │ ├── RecommendationController.java # 推荐接口
│ │ │ ├── UserController.java # 用户接口
│ │ │ ├── FileController.java # 文件接口
│ │ │ └── AdminController.java # 后台管理接口
│ │ └── resources/ # 数据源与 MyBatis 配置
│ ├── sql/campus_club.sql # 建表脚本
│ └── sql/test_data.sql # 测试数据
├── campus-club-frontend/ # Vue 前端项目
└── README.md
五、环境要求
- JDK 8
- Maven 3.6+
- MySQL 8.0
- Node.js 12+、npm 6+
六、数据库初始化
先创建数据库,再按顺序导入后端 SQL 目录中的建表和测试数据脚本。导入后根据本机环境修改后端的数据源连接配置,建议使用 utf8mb4 字符集。
mysql -u root -p --default-character-set=utf8mb4 < sql/campus_club.sql
mysql -u root -p --default-character-set=utf8mb4 < sql/test_data.sql
七、后端启动
cd campus-club-backend
mvn spring-boot:run
八、前端启动
cd campus-club-frontend
npm install
npm run serve
九、默认账号
项目未提供可确认的默认账号,请以 test_data.sql 中的初始化数据为准。
十、业务流程说明
9.1 活动浏览与报名流程
学生登录后可从活动列表浏览社团活动,进入详情页查看活动内容。确定参与后提交报名申请,系统保存报名记录;学生可在个人相关页面查看报名状态和历史参与信息。
管理员在后台查看活动及报名记录,维护活动内容和参与相关数据。活动状态或内容发生变化后,用户端列表和详情页使用最新业务数据展示。
9.2 智能推荐流程
系统根据用户资料、兴趣标签和历史行为构建用户画像,同时读取活动的分类和内容特征。推荐服务分别计算相似用户偏好与活动内容匹配程度,综合生成排序后的推荐列表。
学生在前台浏览或报名活动会持续产生行为数据,管理员维护活动与标签基础信息后,推荐模块可据此更新后续活动匹配结果。
十一、交付内容
- 项目完整源码,包含 Spring Boot 后端与 Vue 前端代码。
- 数据库脚本文件
campus_club.sql与test_data.sql。 - 项目说明文档,包含功能说明、技术栈、运行环境、数据库初始化与启动步骤。
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和个人学习使用。如需购买项目成品或定制化需求可以联系作者。