# TikDuck 一个极简版抖音的后端
[![codecov](https://codecov.io/gh/808-not-found/tik_duck/branch/master/graph/badge.svg?token=ZRGZZ0HMMG)](https://codecov.io/gh/808-not-found/tik_duck)
## 相关文档
- [验收文档](验收文档.md)
- [标准测试文档](标准测试文档.md)
- [启动文档](启动文档.md)
## 项目工具依赖
- [Go 1.18](https://go.dev/)
- [go-task](https://taskfile.dev/installation/),使用 `task` 查看所有的构建目标。(部分 linux 发行版安装完成之后的命令是 `go-task`)
- [golangci-lint](https://golangci-lint.run/),使用 `task lint` 运行 linter
- [mockery](https://github.com/vektra/mockery) 生成 mock,mock 测试的具体方案可以参考 [mock-simple-demo](https://github.com/808-not-found/mock-simple-demo)
- [kitex](https://www.cloudwego.io/docs/kitex/) 通过 IDL 生成 RPC 代码框架
- [prettier](https://prettier.io/) 非代码文件使用它进行格式化
## 开发
每次 commit 之前请确保以下命令正常运行:
- `task lint` 对代码进行静态检查
- `task test` 进行单元测试
- `task prettier` 对非代码文件进行格式化
`docker-compose up -d` 启动 MySQL 和 Etcd 服务。
分别在 `cmd/user` `cmd/useruser` `cmd/userplat` `cmd/web` 下运行 `go run .` 启动服务。
## 远程开发
本项目已经配置好 gitpod 与 github codespaces 的初始化文件,在你 fork 本仓库后,可以根据性能需求和连接稳定性选择其中之一进行远程开发,不需要在本地额外配置开发环境。**这两个远程开发平台有时间限制,退出页面之前请确保关闭工作区!**
在进入开发环境之后,请更改 go 插件设置中 `Lint Tool` 的选项为 `golangci-lint`。
### gitpod
使用 github 账号登录进 [gitpod](https://gitpod.io/workspaces) 后,点击 `New Workspace` **输入你 fork 的仓库地址**。
### github codespaces
在**你 fork 的仓库**中,点击右上角 `Code`,切换到 Codespaces 即可创建。
## 调用关系
> 当前为第一版,接口说明请参考飞书内部文档
> 值得注意的是,尽管中文我们称他们为基础接口、互动接口、社交接口
> 但是我们将他们分别表述为 user, user_platform, user_user
![call_relation.svg](./call_relation.svg)
## 目录结构
```
.
├── docker-compose.yaml // 用于创建 mysql 和 Etcd 的 docker-compose
├── go.mod
├── IDLs // 存放 IDL 文件
├── README.md // 本文档
├── Taskfile.yaml // 自动命令
├── cmd
│ ├── user // 用户接口
│ ├── userplat // 互动接口
│ ├── useruser // 社交接口
│ └── web // 网关
├── kitex_gen // IDL 生成代码
└── pkg // 通用代码,如 logger
└── initsql
```
## 数据图关系图
> 初始化 sql 语句在 `/pkg/initsql` 下
![database.png](./database.png)
没有合适的资源?快使用搜索试试~ 我知道了~
一个极简版抖音的后端,第五届字节跳动青训营项目.zip
共168个文件
go:129个
yaml:10个
sh:8个
需积分: 5 0 下载量 88 浏览量
2024-05-01
11:23:54
上传
评论
收藏 273KB ZIP 举报
温馨提示
一个极简版抖音的后端,第五届字节跳动青训营项目.zip
资源推荐
资源详情
资源评论
收起资源包目录
一个极简版抖音的后端,第五届字节跳动青训营项目.zip (168个子文件)
.gitignore 266B
user.go 190KB
k-user.go 140KB
userplat.go 138KB
useruser.go 114KB
k-userplat.go 101KB
k-useruser.go 82KB
chat.go 63KB
k-chat.go 46KB
user_get_feed_test.go 9KB
userservice.go 8KB
follow_list_test.go 6KB
friend_list_test.go 6KB
action_test.go 6KB
useruserservice.go 6KB
user_info_test.go 6KB
userplat_comment_action_test.go 6KB
user_login_test.go 6KB
userplatservice.go 6KB
follower_list_test.go 6KB
relation.go 5KB
handler.go 5KB
user_register_test.go 4KB
allerrors.go 4KB
userplat_favorite_list_test.go 4KB
user_publish_list_test.go 4KB
userplat_comment_list_test.go 4KB
client.go 4KB
like.go 4KB
handler.go 3KB
userplat_favorite_action_test.go 3KB
user_validator.go 3KB
client.go 3KB
video.go 3KB
client.go 3KB
chatservice.go 3KB
user_publish_action_test.go 3KB
useruser.go 3KB
model.go 3KB
user.go 3KB
video.go 3KB
comment.go 3KB
handler.go 2KB
publish.go 2KB
userplat.go 2KB
user.go 2KB
user.go 2KB
client.go 2KB
video.go 2KB
message.go 2KB
relation.go 2KB
userplat_comment_action_test.go 2KB
user.go 2KB
user.go 2KB
user_get_feed_test.go 1KB
user_publish_action_test.go 1KB
common.go 1KB
comment.go 1KB
action_test.go 1KB
user_info_test.go 1KB
follow_list_test.go 1KB
friend_list_test.go 1KB
user_login_test.go 1KB
user_get_feed.go 1KB
follower_list_test.go 1KB
user_info.go 1KB
userplat_favorite_action_test.go 1KB
salt.go 1KB
userplat_favorite_list_test.go 1KB
userplat_comment_action.go 1KB
router.go 1KB
userplat_comment_list_test.go 1KB
user_login.go 1KB
user_register.go 1KB
user_publish_list_test.go 1KB
userplat_favorite_action.go 1KB
userplat_comment_list.go 1KB
action.go 1KB
jwt.go 1KB
userplat_favorite_list.go 1KB
chat.go 1KB
main.go 1KB
main.go 1KB
friend_list.go 1KB
favorite.go 1KB
get_msg.go 1KB
follower_list.go 1017B
main.go 1017B
follow_list.go 1014B
comment.go 930B
user_publish_list.go 928B
handler.go 909B
common.go 816B
user_register_test.go 811B
feed.go 794B
cover.go 784B
client.go 738B
post_msg.go 733B
user_publish_action.go 721B
consts.go 704B
共 168 条
- 1
- 2
资源评论
JJJ69
- 粉丝: 6262
- 资源: 5775
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功