目录
学习指南
涉及技术
前置基础储备
项目展示
功能模块主要分类
开发须知
技术拓扑图
前端
后端
后端技术栈:Springboot,Spring,mybatis,MinIO,Redis,MongoDB,Nacos,Knife4j,Lombok,AOP,Hibernate,Maven,Nginx,Linux,云服务技术
前端技术栈:uin-app,uniCloud
Spring,Mybatis,SpringBoot
熟悉MySQL/MariaDB
掌握Linux的基础命令
前端基础,HTML,CSS,JS
首页--展示视频播放、视频基本信息、点赞功能等
留言功能,留言点赞...
一个分享的功能,保存到相册,复制链接和二维码。
当然也包含了这个在上面的这个部分,有附近关注和推荐。在关注里面是包含了是一些我关注的所
有的博主他所发表的一些视频。
附近的话,我们在这里并没有去做,需要去结合地理位置,在后续如果有机会的话进行开发。
朋友:在这里是所有的我和我的粉丝。其实就是我和其他人,我们互为关注,互为粉丝。只要是朋
友,那么我所有的朋友,他们所发表的视频在这里全部都会展示。这个是需要和关注区别开来,关
注仅仅只是我关注的那些人。
视频的发布界面:
我的个人页面:下面的话是一些相应的功能,包含了我发布的作品
私密视频:
我点赞过的视频:
相应的一些信息的修改:
其中所对应的修改功能都可以实现,包括头像,昵称,性别等...
消息模块:
消息在这边就是相应的,只要是有一些相应的用户关注我,点赞我,回复我,留言给我。那么,
这些相应的一些不同类型的消息都可以在这里做一个展示。 如果说是关注的话呢,你在这边还可
以去做一个回粉。
视频模块
包含了我们和视频相关的,我们也是可以去通过搜索去搜索相应的一个视频的。
留言模块
可以针对我们的视频去做评论,去做留言,另外,其他的用户也可以回复我。
粉丝模块
我关注你,你关注我,你我相互关注,我们可以成为更亲密的一个朋友关系。
消息模块
我们采用的是MongoDB去做的
用户模块
包含了用户的一个相应的信息。
以后端为主要目标
前端会运行即可
前端对接后端接口
前端这块其实这个就是访问层。就是作为用户端去使用的,那么用户端是可以通过手机APP来访问
并发起请求到我们的后端。虽然我们是iphone和安卓手机,但我们接口的API是统一的,如果说有
小程序,网页,甚至是鸿蒙os相关的app,也都可以直接来请求我们的后端。
前端使用Flex布局,使用了Unicloud相关的cnd技术,只要是文件、图片、视频等等你都可以上传
到cdn去使用。
网关的话可以使用Nginx或者说是使用阿里Tengine,Tengine是基于Nginx的一个二次开发,
这两者都可以去使用,它是可以去提供高可用的负载均衡,可以把请求分发给后面的集群服务。
这个服务集群,就是我们后面会去真正去开发的一个后端。通过springBoot的所构建的一个jar包
或者war包发布。它是通过springBoot,Spring,Mybatis这三大的主流框架来进行开发的,
最终它可以去作为一个集群的形态去提供一个高可用的服务。
左侧:Redis是分布式缓存中间件,RabbitMQ是分布式消息中间件,消息队列。MinIO是分布式对
象存储,它是可以去进行文件的存取。以前的话,可以使用OSS或者使用这个fast-dss都可以去
做,而我们使用这个新的MinIO非常主流。现在目前很多公司都在使用。用它去做一个文件的上传
处理都可以。腾讯云短信服务,用于发送短信的验证码,我们的登录是基于短信登录的,用手机号
进行的注册和登录。
右侧:
Nacos集群,作为注册中心,它还有一个功能是分布式配置中心,那么像我们的一些配置,我们现
在可以动态的写入到Nacos里面去。那么这样我们的Springboot在生产环境里面,它就直接可以去
从我们的Nacos中去进行一个获取。如此一来的话,我们就不需要手动的去修改Spingboot,只需
要在Nacos中去做一个改动,Springboot就可以动态的去获得,我们就可以有更灵活的一个可变
性。在其中去调整我们相应的一些技术参数都是可以的。
底层:
数据层,我们有两个板块,MariaDB和MongoDB。主要是作为一个数据的一个存储,那么当然其
实我们还有一部分的数据是存在于Redis中的,它也是可以作为一个数据层的,更快。该项目,
MariaDB和MongoDB两者选择其中之一都是可以的。
我们在项目介绍中开发附近板块,需要elastic search,它作为一个数据搜索搜索引擎。如果说你想
要去做搜索引擎,如果说想要去结合极优地理位置去做一个位置相关的开发,基于位置的一个搜
索视频,那么我们也是可以把es作为数据层引入进来。
那么,这整个一块就其实就是我们整体的一个技术架构拓扑图。
最后,我们会通过Nginx网关集合高可用,上云服务器将我们整体的项目进行部署,让app在任何
的手机端上去使用。