Skip to content

A simple tiktok(so-called douyin) project of the 5th ByteDance Youthcamp.(字节跳动青训营第五届简易抖音项目)

Notifications You must be signed in to change notification settings

charfole/simple-tiktok

Repository files navigation

simple-tiktok(简易版抖音)

Ready2Go小队第五届字节跳动青训营后端结业项目

项目简介

本项目基于Go语言进行开发,运用MySQL、Docker、Gin、Gorm、Viper、jwt-go、ffmpeg-go、腾讯云对象存储COS等库和工具,实现了一个简易版抖音的服务端,其中包括三类接口:基础接口(视频Feed流获取、视频投稿、个人主页)、互动接口(喜欢功能与评论功能)、社交接口(关注列表、粉丝列表、好友列表、聊天功能)。

项目App端文件:简易版抖音App,推荐使用模拟器运行,我使用的是BlueStacks模拟器(https://www.bluestacks.com/tw/bluestacks-5.html)

项目App端使用文档:简易版抖音App

项目服务端启动步骤

本地编译项目,Docker运行MySQL

  1. 将项目clone到文件夹下,git clone https://github.com/charfole/simple-tiktok.git
  2. 安装好ffmpeg,并将其加入到系统的环境变量中,可参考Linux下安装, Windows下安装。此时输入ffmpeg -version命令应该可以看到ffmpeg的版本信息。
  3. 修改Docker Compose配置文件:首先打开项目文件夹下的docker-compose-mysql-example.yml文件,根据里面的注释和你的需要来修改MySQL中root用户的密码、项目使用的MySQL数据库名称(会自动注册一个数据库)以及端口映射等信息。
  4. 后台启动Docker Compose中MySQL容器:docker compose --file "./docker-compose-mysql-example.yml" up -d,此时输入docker ps命令应该可以看到启动好的MySQL容器。至此,MySQL和ffmpeg依赖安装启动完毕。
  5. 修改服务端配置文件:修改的方法为在项目的config文件夹下新建一个名为config.toml文件进行配置,配置内容可拷贝同目录下的config-example.toml文件,参考里面的注释并根据自己的信息进行修改。
  6. 修改配置文件路径:打开config目录下的conf.go文件,将InitEnv()函数中viper.SetConfigFile("xx/config.toml")的路径部分,修改为你在上一步创建的配置文件的绝对路径。
  7. 配置完服务端后,此时所有的准备工作都已完备,运行go run main.go,即可看到gin成功运行了simple-tiktok的服务端,并在指定端口进行监听。
  8. 此时打开安装好的app,刷新后注册并登录即可正常使用。

Docker部署(有Docker的情况下推荐使用该方式)

  1. 将项目clone到文件夹下,git clone https://github.com/charfole/simple-tiktok.git
  2. 修改Docker Compose配置文件:首先打开项目文件夹下的docker-compose-example.yml文件,根据里面的注释和你的需要来修改MySQL中root用户的密码、项目使用的MySQL数据库名称(会自动注册一个数据库)以及端口映射等信息。
  3. 修改服务端配置文件:修改的方法为在项目的config文件夹下新建一个名为config-compose.toml文件进行配置,配置内容可拷贝同目录下的config-compose-example.toml文件,参考里面的注释并根据自己的信息进行修改。
  4. 修改配置文件路径:打开config目录下的conf.go文件,将InitEnv()函数中viper.SetConfigFile("xx/config.toml")的路径部分,修改为Docker容器中的相对路径./config/config-compose.toml
  5. 后台启动Docker Compose中的MySQL容器:docker compose --file "./docker-compose-example.yml" up -d,此时输入docker ps命令应该可以看到启动好的MySQL容器和根据Dockerfile所启动的服务端容器。至此,整个服务端包括数据库已正常启动。
  6. 此时打开安装好的app,刷新后注册并登录即可正常使用。

项目服务端接口文档:简易版抖音项目方案说明

项目服务端文档与App演示视频:Ready2Go青训营后端结业项目答辩汇报文档

项目服务端架构图: simple-tiktok架构图

PS: 如果发现错误或有疑惑,欢迎提issue或邮件联系(mail@charfole.top)

About

A simple tiktok(so-called douyin) project of the 5th ByteDance Youthcamp.(字节跳动青训营第五届简易抖音项目)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published