《探花交友》
- 功能介绍
- 项目介绍
- 工程搭建
- 短信验证码
- 实现用户登录功能
- 前后端开发视频及相关资源领取Q作者
1、功能介绍
探花交友是一个陌生人的在线交友平台,在该平台中可以搜索附近的人,查看好友动态,平台还会通过大数据计算进行智能推荐,通过智能推荐可以找到更加匹配的好友,这样才能增进用户对产品的喜爱度。探花平台还提供了在线即时通讯功能,可以实时的与好友进行沟通,让沟通随时随地的进行。
1.1、功能列表
功能 | 说明 | 备注 |
---|---|---|
注册、登录 | 用户无需单独注册,直接通过手机号登录即可 | 首次登录成功后需要完善个人信息 |
交友 | 主要功能有:测灵魂、桃花传音、搜附近、探花等 | |
圈子 | 类似微信朋友圈,用户可以发动态、查看好友动态等 | |
消息 | 通知类消息 + 即时通讯消息 | |
小视频 | 类似抖音,用户可以发小视频,评论等 | 显示小视频列表需要进行推荐算法计算后进行展现。 |
我的 | 我的动态、关注数、粉丝数、通用设置等 |
1.2、注册登录
业务说明:
用户通过手机验证码进行登录,如果是第一次登录则需要完善个人信息,在上传图片时,需要对上传的图片做人像的校验,防止用户上传非人像的图片作为头像。流程完成后,则登录成功。
g-blog.csdnimg.cn/101c34caf1174e00998e09fa8deee6e4.png
1.3、交友
交友是探花项目的核心功能之一,用户可以查看好友,添加好友,搜索好友等操作。
1.3.1、首页
在首页中,主要功能有“今日佳人”、“推荐”、“最近访客”等
- 今日佳人
- 按照“缘分值”进行匹配,将“缘分值”最高的用户展现出来
- 推荐
- 按照“缘分值”进行推荐,由后台的推荐系统计算得出,展现出来
- 最近访客
- 显示最近来看“我”的用户
1.3.2、探花
说明:左划喜欢,右划不喜欢,每天限量不超过100个,开通会员可增加限额。双方互相喜欢则配对成功。
实现:数据来源推荐系统计算后的结果。
1.3.3、搜附近
根据用户当前所在的位置进行查询,并且在10km的范围内进行查询,可以通过筛选按钮进行条件筛选。
1.3.4、桃花传音
功能类似QQ中的漂流瓶,用户可以发送和接收语音消息,陌生人就会接收到消息。
1.3.5、测灵魂
-
测试题用于对用户进行分类,每次提交答案后更新用户属性
-
测试题在后台进行维护
-
测试题测试完后产生结果页可以进行分享
-
测试题为顺序回答,回答完初级题解锁下一级问题
-
点击锁定问题 显示提示 请先回答上一级问题
1.4、圈子
1、推荐频道为根据问卷及喜好推荐相似用户动态
2、显示内容为用户头像、用户昵称、用户性别、用户年龄、用户标签和用户发布动态
3、图片最多不超过6张或发布一个小视频
4、动态下方显示发布时间距离当时时间,例如10分钟前、3小时前、2天前,显示时间进行取整
5、动态下方显示距离为发布动态地与本地距离
6、显示用户浏览量
7、显示点赞数、评论数 转发数
1.5、消息
消息包含通知类的消息和好友消息。
1.6、小视频
用户可以上传小视频,也可以查看小视频列表,并且可以进行点赞操作。
1.7、我的
显示关注数、喜欢数、粉丝数、我的动态等信息。
2、项目介绍
2.1、项目背景
在线社交是互联网时代的产物,已成为互联网用户的基础需求之一。移动互联网自2003年起快速发展,促使在线社交逐渐从PC端转移至移动端。移动社交最初以熟人社交为主,以维系熟人关系、共享资源信息的形式存在。随着人们交友需求的延伸,移动社交开始向陌生人社交、兴趣社交等垂直方向发展,形式丰富多样。
2.2、市场分析
探花交友项目定位于 陌生人交友市场。
- 根据《2018社交领域投融资报告》中指出:虽然相比2017年,投融资事件减少29.5%,但是融资的总额却大幅增长,达到68%。
- 这些迹象说明:社交领域的发展规模正在扩大,而很多没有特色的产品也会被淘汰。而随着那些尾部产品的倒下,对我们来说就是机会,及时抓住不同社交需求的机会。以社交为核心向不同的细分领域衍生正在逐渐走向成熟化。
- 而我们按照娱乐形式和内容为主两个维度,将社交行业公司分类为:即时通信、内容社群、陌生人社交、泛娱乐社交以及兴趣社交几个领域。
- 而在2018年社交的各个细分领域下,均有备受资本所关注的项目,根据烯牛数据2018年的报告中,也同样指出:内容社交及陌生人社交为资本重要关注领域,合计融资占比达73%。
根据市场现状以及融资事件来看:陌生人社交、内容社群、兴趣社交在2019年仍然保持强劲的动力,占到近70%的比例,它们仍然是资本市场主要关注领域。从增长率来看陌生人社交的增长速度远远大于其他几类,因此我们要从这个方向入手。
2.3、目标用户群体
从整体年龄段来看:目前目标用户群体主要以30岁以下为主,其中以18-25岁年龄群体为主要受众人群。
- **上班群体:**热衷于通过分享内容或表达“个人情绪”在陌生人面前建立特殊的人设,并借此提升自我价值扩大自己的交际圈;
- **学生群体:**追求个性选择,更倾向找到有共同话题的陌生人对象并建立长期的关系,乐于展现自我;
- **文艺群体:**拥有自己独特的爱好且拥有特别的个人追求,追求文艺圈子内的交流,希望通过分享结交更多好友;
- **沟通弱势群体:**对现有长期保持线上对社交模式表现无力且无效,渴望有更加有效且安全的社交方式出现,解决目前单调乏味的沟通方式;
2.4、技术方案
前端:
- flutter + android + 环信SDK + redux + shared_preferences + connectivity + iconfont + webview + sqflite
后端:
- Spring Boot + SpringMVC + Mybatis + MybatisPlus + Dubbo
- Elasticsearch geo 实现地理位置查询
- MongoDB 实现海量数据的存储
- Redis 数据的缓存
- Spark + MLlib 实现智能推荐
- 第三方服务 环信即时通讯
- 第三方服务 阿里云 OSS 、 短信服务
- 第三方服务 虹软开放平台
2.5、技术架构
2.6、技术解决方案
- 使用Elasticsearch geo实现附近的人的解决方案
- 使用Spark + Mllib实现智能推荐的解决方案
- 使用MongoDB进行海量数据的存储的解决方案
- 使用采用分布式文件系统存储小视频数据的解决方案
- 使用虹软开放平台进行人脸识别的解决方案
- 使用阿里云进行短信验证码发送的解决方案
2.7、技术亮点
- 采用Elasticsearch geo实现地理位置查询
- 采用RocketMQ作为消息服务中间件
- 采用MongoDB进行海量数据的存储
- 采用Spark + Mllib实现智能推荐
- 采用环信服务实现即时通讯
- 采用分布式文件系统存储小视频数据
- 采用Apache Dobbo作为微服务架构技术
- 采用SpringBoot + Mybatis实现系统主架构
- 采用Redis集群实现缓存的高可用
2.8、开发方式
探花交友项目采用前后端分离的方式开发,就是前端由前端团队负责开发,后端负责接口的开发,这种开发方式有2点好处:
- 扬长避短,每个团队做自己擅长的事情
- 前后端并行开发,需要事先约定好接口地址以及各种参数、响应数据结构等
什么是接口?接口就是一个http的请求地址,在定义接口的时候主要就是去定义:请求路径,请求方式,请求参数,响应结果数据等内容。
对于接口的定义我们采用YApi进行管理,YApi是一个开源的接口定义、管理、提供mock数据的管理平台。
2.9、基础环境
探花交友项目的开发统一使用提供的Centos7环境,该环境中部署安装了项目所需要的各种服务,如:MySQL、MongoDB、Redis、RocketMQ等。
- 虚拟机的root用户密码为:root123
- 默认参数:CPU:2核,内存:4G,硬盘:60G
- IP地址建议设置为192.168.31.81,否则有些服务将不可用,比如:Redis、RocketMQ等。