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