基于社交图谱的校园活动与交友系统(SpringBoot + Neo4j + UniApp)
在校园场景中,单纯的“活动报名”往往很难满足学生强烈的社交和兴趣匹配需求。如果能把用户、活动、兴趣标签、好友关系真正串联起来,这就不再只是一个普通的校园活动系统,而是一个具备社交图谱分析能力的校园社交平台。
今天分享的这个项目,就是一个基于社交图谱的校园活动与交友系统。它不仅仅实现了常规的Web管理后台和微信小程序端,核心亮点在于引入了MySQL + Neo4j 双数据库架构,利用图数据库强大的关系处理能力,实现了基于兴趣与关系的混合推荐。
一、项目定位与角色设计
这是一个面向校园场景设计的社交图谱系统,核心目标是打通“校园活动”与“校园社交”,形成一个完整的互动闭环。系统主要包含三类角色:
- 学生:浏览活动、报名参与、发布动态、添加好友。
- 活动组织者:发布与管理活动、查看签到情况。
- 管理员:负责用户权限、活动审核及内容监管。
为了支撑复杂的社交推荐,系统特别引入了Neo4j 图数据库,用于维护用户之间、用户与兴趣之间、用户与活动之间的深层关系。
️![]()
二、核心功能模块拆解
本系统围绕“校园活动 + 社交关系 + 图谱推荐”三个方向深度设计,功能覆盖全面。
1. 学生端:不仅是参与,更是社交
- 个人信息:支持编辑昵称、头像,特别是兴趣标签的维护,这是推荐算法的基础。
- 活动参与:从浏览列表、查看详情到报名、现场签到,流程完整。
- 动态圈子:类似朋友圈的交互,支持发图文动态、点赞评论,增强用户粘性。
- 好友体系:支持搜索、申请、同意/拒绝好友,并能接收系统基于图谱计算的推荐好友。
2. 组织者端:高效的活动管家
- 活动发布:自定义时间、地点、人数上限及活动标签。
- 数据看板:实时查看报名情况、已签到/未签到人数及签到率,方便后续复盘。
3. 管理员端:全局把控
- 用户与权限:灵活分配角色权限,监管违规账号。
- 内容与审核:对发布的活动进行审核,对动态和评论进行监管,维护健康的校园环境。
4. 核心特色:推荐与图谱能力
这是本项目的灵魂所在。系统在 Neo4j 中构建了以下关系网:
用户-兴趣、用户-好友、用户-活动参与、活动-标签、用户-动态点赞
基于这些节点与关系,系统能够实现精准的好友推荐和活动推荐,相比传统的协同过滤,图谱推荐能更好地挖掘潜在的社交关联。
三、硬核技术栈一览
这是一个典型的前后端分离 + 小程序 + 图数据库的全栈项目。
- 后端核心:Spring Boot 2.5.4 + Spring Security + MyBatis-Plus + JWT认证。
- 数据存储:MySQL 8(基础业务数据)+Neo4j 5.x(图谱关系数据)。
- Web管理端:Vue 3 + Vite + TypeScript + Element Plus + ECharts。
- 移动端:UniApp (Vue 3) + Sass,一套代码可发布为微信小程序或H5。
- 工具库:Druid数据源、Swagger接口文档、Hutool工具包。
四、本地部署与运行指南
如果你想亲手跑通这个项目,可以按照以下步骤操作:
1. 环境准备
确保电脑已安装 JDK 1.8、Maven 3.6+、Node.js 18+、MySQL 8.0+ 以及 Neo4j 4.x。小程序调试建议使用 HBuilderX 或微信开发者工具。
2. 数据库初始化
- MySQL:依次执行
schema_mysql_full.sql和init_data_mysql.sql建表并导入初始数据。 - Neo4j:执行
reset_and_init_neo4j.cypher脚本。该脚本会清空旧数据,重新创建约束并初始化演示用的图谱关系。
3. 修改配置与启动
在backend/src/main/resources/下修改application.yml中的数据库连接信息。
- 启动后端:进入 backend 目录,执行
mvn spring-boot:run(默认端口 8082)。 - 启动Web端:进入 frontend 目录,执行
npm install && npm run dev(默认地址 localhost:5173)。 - 启动小程序:使用 HBuilderX 打开 uniapp-client 运行到微信开发者工具,或执行
npm run dev:h5。
4. 默认测试账号
- 管理员:admin / 123456
- 学生:2100400501 / 123456
- 组织者:organizer_01 / 123456
五、写在最后
如果你想做一个不只是“增删改查”,而是真正具备“社交关系 + 兴趣匹配 + 图谱推荐”能力的平台,这个项目是一个非常完整的实现案例。它不仅涵盖了常规的业务流程,更深入到了图数据库的应用层面,非常适合作为毕业设计、课程设计或图数据库入门实战的参考。
还想看更多 Java、Spring Boot、Vue、毕业设计、管理系统实战项目,欢迎持续关注,后续会继续更新。
