Dongshao-CS / Mini-tiktok

简易版抖音项目

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mini-tiktok

项目来源于第三届字节跳动后端训练营,参考往届实现,对照2022.8最新的极简版抖音APP接口文档进行了完善。

技术选型

  • 语言:Go 1.19以上
  • HTTP框架:Gin
  • ORM: Gorm
  • 服务注册与发现:Consul
  • 服务间调用:gRPC
  • 数据库:MySQL
  • 缓存:Redis
  • 分布式锁:RedSync
  • 配置:Viper
  • 日志:Zap
  • JWT:jwt-go
  • 代码生成:protoc-gen-go

目录结构

├── cmd 项目启动入口
│   ├── gatewaysvr 网关服务
│   ├── usersvr 用户服务
│   ├── videosvr 视频服务
│   ├── favoritesvr 点赞服务
│   ├── relationsvr 关注服务
│   ├── commentsvr 评论服务
│   ├── messagesvr 聊天服务
│   ├── 具体文件
│        └── config 配置文件
│        └── constant 常量值
│        └── dao 数据库操作
│        └── log 日志配置
│        └── middleware 中间件
│        └── response 响应
│        └── service 服务具体逻辑
│        └── utils 工具类
├── log 日志文件
├── pkg proto文件
├── script 快速启动脚本
├── README.md

快速开始

cd script
# 权限问题
sudo chmod -R 777 /home/gopath/src/tiktok/cmd
sudo chmod -R 777 /home/gopath/src/tiktok/script
# 编译所有微服务
python build_all.py "" / gatewaysvr...
# 启动/停止所有微服务
python server_all.py start/stop

About

简易版抖音项目


Languages

Language:Go 89.7%Language:Shell 8.0%Language:Makefile 1.2%Language:Python 1.2%