基于社交图谱的校园活动与交友系统(SpringBoot + Neo4j + UniApp)

📅 2026/7/6 3:12:16 👁️ 阅读次数 📝 编程学习
基于社交图谱的校园活动与交友系统(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.sqlinit_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、毕业设计、管理系统实战项目,欢迎持续关注,后续会继续更新。