3.2 KiB
3.2 KiB
项目需求:校园交友平台
项目简介
本项目旨在为大学生提供一个轻松、有趣且安全的交友平台,帮助同学们结识志同道合的朋友。平台支持个性化用户资料、兴趣标签匹配、即时聊天等功能,同时通过爬虫技术获取校园内的活动信息,促进线下社交互动。
功能需求
1. 用户管理
- 用户注册、登录(使用 SQLAlchemy 实现)
- 用户资料管理(头像、昵称、个人简介、兴趣爱好、联系方式等)
- 提供多标签系统(如:音乐、电影、编程、健身、旅行等)
- 用户可自定义隐私设置(如是否公开联系方式)
2. 匹配与推荐
- 系统根据以下条件推荐好友:
- 兴趣爱好相似度
- 所在学院/专业
- 活动参与记录
- 推荐系统可提供“猜你喜欢”功能,推荐可能感兴趣的人
3. 即时通讯(进阶功能)
- 支持私信聊天,具备以下功能:
- 文本消息
- 图片/文件传输
- 已读/未读标识
- 提供黑名单及举报功能,保障用户安全
4. 活动聚合功能
- 使用正则爬虫抓取校园内的各类活动信息(如社团活动、讲座、比赛、聚会等)
- 提供活动推荐功能,推荐符合用户兴趣的活动
- 活动详情页面支持:
- 活动报名
- 讨论区,用户可留言交流
5. 用户互动
- 用户可浏览其他人的主页,查看他们的动态、兴趣、参与的活动等
- 支持点赞、评论、关注等社交功能
- 支持匿名朋友圈(仅展示标签,无用户真实信息)
6. 管理员后台
- 管理员可审核用户信息,避免虚假资料
- 提供举报管理、内容屏蔽等功能
- 后台可查看平台的用户活跃度、热门标签、活跃社团等数据分析
技术要求
1. 后端
- 使用 Flask 开发
- 使用 SQLAlchemy 进行 ORM 数据库管理
2. 前端
- 使用 Bootstrap 提升页面美观度
- 提供多标签筛选、搜索、推荐等交互功能
3. 爬虫
- 使用
requests
+re
编写爬虫,获取校园活动信息 - 数据清洗时提取活动名称、时间、地点、报名方式等关键信息
- 支持定时爬取,确保信息时效性
4. 数据库
- 使用 MySQL 作为项目数据库
- 数据表结构设计包含:
- 用户表
- 好友关系表
- 聊天消息表
- 活动信息表
- 举报/屏蔽表
项目流程
- 设计数据库(ER图)
- 实现用户注册、登录与资料管理
- 编写推荐算法,实现好友推荐和活动推荐功能
- 开发聊天功能并测试
- 编写爬虫,确保活动数据获取准确
- 实现管理员后台
- 美化前端,提升用户交互体验
- 代码优化与测试
附加功能(进阶)
- 实时在线状态(显示用户是否在线)
- 基于 WebSocket 的即时通讯,提高聊天实时性
- “心动模式”:用户相互点赞后才能发起对话
- 地图定位功能,推荐附近有相同兴趣的同学
推荐项目命名
- 校园知己
- 缘来是你
- 同学圈
- 校缘交友