dlfld / simple-douyin

字节青训营项目,实现一个简易版的抖音

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hi~ this is gophers 👋

Let's see our Simple—douyin~.

DDDDDDDDDDDDD                                                YYYYYYY       YYYYYYY  iiii                    
D::::::::::::DDD                                             Y:::::Y       Y:::::Y i::::i                   
D:::::::::::::::DD                                           Y:::::Y       Y:::::Y  iiii                    
DDD:::::DDDDD:::::D                                          Y::::::Y     Y::::::Y                          
  D:::::D    D:::::D    ooooooooooo   uuuuuu    uuuuuu       YYY:::::Y   Y:::::YYYiiiiiii nnnn  nnnnnnnn    
  D:::::D     D:::::D oo:::::::::::oo u::::u    u::::u          Y:::::Y Y:::::Y   i:::::i n:::nn::::::::nn  
  D:::::D     D:::::Do:::::::::::::::ou::::u    u::::u           Y:::::Y:::::Y     i::::i n::::::::::::::nn 
  D:::::D     D:::::Do:::::ooooo:::::ou::::u    u::::u            Y:::::::::Y      i::::i nn:::::::::::::::n
  D:::::D     D:::::Do::::o     o::::ou::::u    u::::u             Y:::::::Y       i::::i   n:::::nnnn:::::n
  D:::::D     D:::::Do::::o     o::::ou::::u    u::::u              Y:::::Y        i::::i   n::::n    n::::n
  D:::::D     D:::::Do::::o     o::::ou::::u    u::::u              Y:::::Y        i::::i   n::::n    n::::n
  D:::::D    D:::::D o::::o     o::::ou:::::uuuu:::::u              Y:::::Y        i::::i   n::::n    n::::n
DDD:::::DDDDD:::::D  o:::::ooooo:::::ou:::::::::::::::uu            Y:::::Y       i::::::i  n::::n    n::::n
D:::::::::::::::DD   o:::::::::::::::o u:::::::::::::::u         YYYY:::::YYYY    i::::::i  n::::n    n::::n
D::::::::::::DDD      oo:::::::::::oo   uu::::::::uu:::u         Y:::::::::::Y    i::::::i  n::::n    n::::n
DDDDDDDDDDDDD           ooooooooooo       uuuuuuuu  uuuu         YYYYYYYYYYYYY    iiiiiiii  nnnnnn    nnnnnn                                                                                                                                                                                                   

目录


决赛三等奖(第4名)

背景介绍

1、项目介绍:第六届字节跳动青训营后端任务————实现一个简易版的抖音。要求使用Go语言编程、常用框架、数据库、对象存储等内容。我们组使用Golang实现基于Redis的安全高效RPC通信。
2、项目要求:

互动方向

社交方向

基础功能项

视频 Feed 流、视频投稿、个人主页

基础功能项说明

视频Feed流:支持所有用户刷抖音,视频按投稿时间倒序推出

视频投稿:支持登录用户自己拍视频投稿

个人主页:支持查看用户基本信息和投稿列表,注册用户流程简化

方向功能项

喜欢列表

用户评论

关系列表

消息

方向功能项说明

登录用户可以对视频点赞,在个人主页喜欢Tab下能够查看点赞视频列表

支持未登录用户查看视频下的评论列表,登录用户能够发表评论

登录用户可以关注其他用户,能够在个人主页查看本人的关注数和粉丝数,查看关注列表和粉丝列表

登录用户在消息页展示已关注的用户列表,点击用户头像进入聊天页后可以发送消息

3、完成情况:

功能简介

1、👥 interaction 创建与数据库的链接。通过当收到点赞或评价请求时,根据请求的类型调用相应的方法处理请求,并在数据库中执行相应的操作,最后将处理结果封装成相应对象返回给调用方。

1.点赞、取消点赞:收到点赞或取消点赞功能时,根据传入的参数请求,判断点赞类型,并在数据库中执行相应操作,最后返回一个相应对象。
2.获取点赞列表:根据传入参数请求,从数据库中查询用户的点赞记录,并将查询结果转换为模型对象,最后返回相应点赞列表。

2、📳 message

消息查询请求由前端发送过来后,经过网关解析出发送者/查询者的id,分配给消息服务进行处理
1.消息发送
2.消息查询

3、🥳relation

根据传入的请求参数,执行相应的操作。如果操作成功,则返回相应响应。
1.关注和取消关注
2.获取关注列表
3.获取粉丝列表
4.获取好友列表

4、:selfie: user

收到用户相关请求时,验证用户输入的有效性或JWT令牌有效性,成功后将相关信息返回给客户端。
1.用户注册
2.用户登录
3.用户信息

5、🎦vedio

客户端通过RPC调用视频服务,服务端根据接收的请求调用相应函数进行处理,并将处理结果封装后返回给客户端。服务端通过Kitex框架提供的Server来监听指定地址,并处理客户端请求。
1.上传视频
2.获取用户视频列表


安装方法

1、克隆项目到本地

https://github.com/dlfld/simple-douyin.git

2、进入项目目录
3、安装项目依赖
4、启动项目

使用说明

1、注册或登录账号

在项目首页,点击"注册"按钮创建一个新账号,或者点击"登录"按钮使用已有账号登录。

2、编辑个人资料
3、点赞和评论
4、查看关注数和粉丝数
5、浏览和投稿视频

贡献

🎉🎉🎉非常感谢这些人对该项目的付出~
image

许可证

📝 MIT © Richard Littauer

About

字节青训营项目,实现一个简易版的抖音


Languages

Language:Go 95.2%Language:Thrift 3.7%Language:Shell 0.9%Language:Dockerfile 0.3%