《探花交友》之开篇

news2024/10/6 12:22:10

《探花交友》

  • 功能介绍
  • 项目介绍
  • 工程搭建
  • 短信验证码
  • 实现用户登录功能
  • 前后端开发视频及相关资源领取Q作者

1、功能介绍

探花交友是一个陌生人的在线交友平台,在该平台中可以搜索附近的人,查看好友动态,平台还会通过大数据计算进行智能推荐,通过智能推荐可以找到更加匹配的好友,这样才能增进用户对产品的喜爱度。探花平台还提供了在线即时通讯功能,可以实时的与好友进行沟通,让沟通随时随地的进行。

1.1、功能列表

功能说明备注
注册、登录用户无需单独注册,直接通过手机号登录即可首次登录成功后需要完善个人信息
交友主要功能有:测灵魂、桃花传音、搜附近、探花等
圈子类似微信朋友圈,用户可以发动态、查看好友动态等
消息通知类消息 + 即时通讯消息
小视频类似抖音,用户可以发小视频,评论等显示小视频列表需要进行推荐算法计算后进行展现。
我的我的动态、关注数、粉丝数、通用设置等

1.2、注册登录

业务说明:

用户通过手机验证码进行登录,如果是第一次登录则需要完善个人信息,在上传图片时,需要对上传的图片做人像的校验,防止用户上传非人像的图片作为头像。流程完成后,则登录成功。
在这里插入图片描述

g-blog.csdnimg.cn/101c34caf1174e00998e09fa8deee6e4.png
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.3、交友

交友是探花项目的核心功能之一,用户可以查看好友,添加好友,搜索好友等操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xdpZxJdh-1693283672056)(assets/1563698504256.png)]

1.3.1、首页

在首页中,主要功能有“今日佳人”、“推荐”、“最近访客”等

  • 今日佳人
    • 按照“缘分值”进行匹配,将“缘分值”最高的用户展现出来
  • 推荐
    • 按照“缘分值”进行推荐,由后台的推荐系统计算得出,展现出来
  • 最近访客
    • 显示最近来看“我”的用户

1.3.2、探花

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhhaQZxZ-1693283672056)(assets/1563714212568.png)]

说明:左划喜欢,右划不喜欢,每天限量不超过100个,开通会员可增加限额。双方互相喜欢则配对成功。

实现:数据来源推荐系统计算后的结果。

1.3.3、搜附近

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mb1qQqTo-1693283672056)(assets/1563714826374.png)]

根据用户当前所在的位置进行查询,并且在10km的范围内进行查询,可以通过筛选按钮进行条件筛选。

1.3.4、桃花传音

功能类似QQ中的漂流瓶,用户可以发送和接收语音消息,陌生人就会接收到消息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YgUwkJgN-1693283672057)(assets/1563718868686.png)]

1.3.5、测灵魂

  1. 测试题用于对用户进行分类,每次提交答案后更新用户属性

  2. 测试题在后台进行维护

  3. 测试题测试完后产生结果页可以进行分享

  4. 测试题为顺序回答,回答完初级题解锁下一级问题

  5. 点击锁定问题 显示提示 请先回答上一级问题

在这里插入图片描述

在这里插入图片描述

1.4、圈子

1、推荐频道为根据问卷及喜好推荐相似用户动态

2、显示内容为用户头像、用户昵称、用户性别、用户年龄、用户标签和用户发布动态

3、图片最多不超过6张或发布一个小视频

4、动态下方显示发布时间距离当时时间,例如10分钟前、3小时前、2天前,显示时间进行取整

5、动态下方显示距离为发布动态地与本地距离

6、显示用户浏览量

7、显示点赞数、评论数 转发数

在这里插入图片描述

1.5、消息

消息包含通知类的消息和好友消息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3EpYRgOc-1693283672059)(assets/1563719621939.png)]

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等。

前后端开发视频及相关资源领取Q作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/946479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

若依自定义详情页(传多个参数)

【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】【创作不易,点个赞就是对我最大的支持】 前言 仅作为学习笔记,供大家参考 总结的不错的话,记得点赞收藏关注哦! 不知道…

gerrit 如何提交进行review

前言 本文主要介绍如何使用gerrit进行review。 下述所有流程都是参考: https://gerrit-review.googlesource.com/Documentation/intro-gerrit-walkthrough.html 先给一个commit后但是还没有push上去的一个办法: git reset --hard HEAD^可以多次reset.…

5V升压充电16.8V芯片充电管理IC

航誉微HU5912四节锂电池升压充电IC 概要 HU5912是一款 5V输入,支持四节锂电池的升压充电管理 IC。 HU5912 ,采用异步开关架构,使其在应用时仅需 要极少的外围器件,可有效减少整体方案尺寸,降低 BOM 成本。 HU5912…

腾讯云便宜购买指南(腾讯云怎样购买划算)

腾讯云是国内知名的云计算服务商,拥有广泛的应用和用户群体。对于有需要的用户来说,怎样便宜购买腾讯云产品是一个值得关注的问题,下面给大家分享腾讯云便宜购买指南。 腾讯云便宜购买指南:1、新用户专属礼包;2、老用户…

网路日志服务器

网络日志服务器是用于集中存储、管理和分析网络设备生成的日志数据的服务器。它扮演着收集、存储和分析网络日志的关键角色,对于网络安全、故障排除和性能优化等方面具有重要意义。 网络日志服务器的工作原理是通过与网络设备建立连接,接收并保存设备生成…

《人月神话》:chapter 4 系统设计中的“专制”和“民主”

以下总结来自于《人月神话》 第四章 :贵族制,民主制和系统设计 系统设计中最重要的因素:概念完整性 1.设计必须由一个人或者具有共识的小型团队来完成 2.大型系统架构设计与具体实现相分离 3.必须有人控制概念,确保完整性&…

WebSocket- 前端篇

官网代码 // 为了浏览器兼容websocketconst WebSocket window.WebSocket || window.MozWebSocket// 创建连接 this.socket new WebSocket(ws://xxx)// 连接成功this.socket.onopen (res)>{console.log(websocket 连接成功)this.socket.send(入参字段) // 传递的参数字段}…

【Android】AES解密抛出异常Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH

Java使用AES加密的时候没得问题,但是在解密的时候就出错了,一起来找找原因吧。 首先,Java运行的代码如下,使用AES加解密 Cipher cipher Cipher.getInstance("AES/CBC/NOPadding"); //...主要问题 可调试运行控制台抛…

Figma怎么导出源文件,超详细教程来了

Figma怎么导出源文件,超详细教程来了要说近几年话题最多的界面设计软件,Figma当之无愧。用一句话去定义Figma,它是一款基于浏览器的全能型设计工具。Figma允许设计师、开发者和其他团队成员无论身在何处,都可以共同协作创建和编辑…

FastStone Capture

FastStone Capture 简介下载安装注册 简介 FastStone Capture是一款用于屏幕截图和屏幕录制的工具。它允许用户捕捉屏幕上的内容,并将其保存为图像文件,还可以录制屏幕活动为视频文件。 FastStone Capture官网: https://www.faststone.org/FSCaptureDet…

JDK源码解析-ArrayList

1. ArrayList类 1.1 ArrayList类结构图 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。 (1)ArrayList 是一种变长的集合类,基于定长数组实现。 (2)ArrayList 允许空值…

[Android 四大组件] --- Activity

1 Activity是什么 ​​Activity​​是一个Android的应用组件,它提供屏幕进行交互。每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上。 一个应用通常是由多个彼此松散联系的Activity组成&…

NFTScan 正式上线 Base NFTScan 浏览器和 NFT API 数据服务

2023 年 8 月 24 号,NFTScan 团队正式对外发布了 Base NFTScan 基础设施,将为 Base 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。NFTScan 作为全球领先的 NFT 数据基础设施服务商,Base 是继 Bitcoin、Ethereum、BNBChain、…

合宙Air724UG LuatOS-Air LVGL API控件--日历 (Calendar)

日历 (Calendar) LVGL 提供了一个用来选择和显示当前日期的日历控件。 示例代码 – 高亮显示的日期 highlightDate lvgl.calendar_date_t() – 日历点击的回调函数 – 将点击日期设置高亮 function event_handler(obj, event) if event lvgl.EVENT_VALUE_CHANGED then da…

Web项目与帆软11集成后通过项目访问cpt文件会弹出数据决策系统登录界面如何取消

1、登录帆软 - 数据决策系统 * 点击 :管理系统 - 模板认证 - 点击设置按钮 - 关闭 2、选择关闭单个认证 你点击后,它默认所有都是开的。你依次点击关闭,然后再把要的模板点击开启,如下图所示:第一个就表示开了认证&am…

vxe-table中树形结构

如图,同事让帮忙实现一个需求 从二级树节点开始,同时选中的只能有一个二级树节点,选中的二级树节点之下的子节点都可以被选中。否则不能被选中 直接上代码 需要注意的是,文中树状图传递的数据是打平的数据,设置代码是…

[集创赛海云捷讯杯]全国二等奖经验分享

[集创赛海云捷讯杯]全国二等奖经验分享 一.前言二.我们的作品三.小结 一.前言 笔者是研一在校生,从五月份开始和本科生一起卷集创赛,经历初赛,分赛区决赛,全国总决赛,认识了很多一起做比赛的朋友收获颇丰。今年海云杯…

记录一次可视化大屏开发

版本:echarts5.3.0 - echarts-gl2.0.8 echarts大部分问题都是版本原因,4.x和5.x区别很大,推荐^5.3.0,因为有些api需要这个版本以上才支持。另外5.1支持svg地图数据格式,与之前的一些用法截然不同,同时拓展性…

(动态规划) 剑指 Offer 60. n个骰子的点数 ——【Leetcode每日一题】

❓ 剑指 Offer 60. n个骰子的点数 难度:中等 把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 s 。输入 n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点…

国民八路参考文献:[8]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑工业出版社,2022.

国民八路参考文献:[8]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑工业出版社,2022&#xff0…