Skip to content

Simple Douyin is a project imitated from ByteDance's Douyin(Tiktok)

Notifications You must be signed in to change notification settings

RexYPX/Simple-Douyin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple-Douyin

Simple Douyin is a project imitated from ByteDance's Douyin(Tiktok)

演示视频:演示视频

项目设计文档:项目设计文档

目录

模块框图

项目特征

  1. 采用开源 HTTP 框架 Hertz、开源 RPC 框架(Kitex)及开源 ORM 框架 GORM 开发,基于 RPC 微服务 + Hertz 提供 HTTP 服务 + GORM 实现 ORM

  2. 基于《接口文档在线分享- Apifox》提供的接口进行开发,使用《极简抖音App使用说明 - 青训营版 》提供的APK进行Demo测试, 功能完整实现 ,前端接口匹配良好。

  3. 代码结构采用 (HTTP API 层 + RPC Service 层 + Dal 层) 项目结构清晰 ,代码符合规范

  4. 使用 JWT 进行用户token的校验

  5. 使用 ETCD 进行服务发现和服务注册;

  6. 使用 Gorm 对 MySQL 进行 ORM 操作;

  7. 使用 Hertz 中间件 tracer 实现链路跟踪;

  8. 使用 Pprof 中间件实现代码性能检测

  9. 使用 Redis 中间件作为数据库缓存

环境搭建

  • go1.19.5 linux/amd64
  • hertz v0.5.2
  • kitex v0.4.4

快速开始

  1. Edit pkg/constant.go to config your project

  2. Setup basic dependency(please install docker & docker-compose previously)

make start
  1. run user service
cd cmd/user
sh build.sh
sh output/bootstrap.sh
  1. run feed service
cd cmd/feed
sh build.sh
sh output/bootstrap.sh
  1. run publish service
cd cmd/publish
sh build.sh
sh output/bootstrap.sh
  1. run comment service
cd cmd/comment
sh build.sh
sh output/bootstrap.sh
  1. run favorite service
cd cmd/favorite
sh build.sh
sh output/bootstrap.sh
  1. run relation service
cd cmd/relation
sh build.sh
sh output/bootstrap.sh
  1. run message service
cd cmd/message
sh build.sh
sh output/bootstrap.sh
  1. run api service
cd cmd/api
go build
./api

各服务流程图

  1. Publish 服务

publishList获取视频列表流程图:

  1. Favorite 服务

favoriteAction点赞流程图:

favoriteList获取点赞列表流程图:

  1. Comment 服务

Comment服务流程图:包含三种服务:获取评论列表、发表评论、删除评论

  1. Relation 服务

Relation 服务流程图:包含五种服务:获取关注/粉丝/好友列表、关注用户、取关用户

  1. Feed 服务

Feed 服务流程图:

  1. Message 服务

Message服务流程图:包含消息发送和消息历史查询

参考文档

《抖音项目方案说明》:抖音项目方案说明

《接口文档在线分享- Apifox》:接口文档在线分享- Apifox

《极简抖音App使用说明 - 青训营版 》:极简抖音App使用说明 - 青训营版

特别鸣谢

字节跳动青训营

About

Simple Douyin is a project imitated from ByteDance's Douyin(Tiktok)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published