集成 ChatGPT 的短视频微服务应用,使用 Kitex 和 Hertz 构建,由 Toktik-Team 开发,作为第五届字节跳动青训营大作业。 |
---|
English | 简体中文
第五届字节跳动青训营大作业汇报文档: https://qrggpk56b9.feishu.cn/docx/Djwpdm8oZo3JyRx0JwkcZhRDnVd
获得 第五届字节跳动青训营 码如磐石奖(一等奖) 奖项.
从 此处 下载抖声 app 后, 填入以下地址来体验 demo。
- constant
- biz - 业务逻辑相关常量
- config
- env.go - 环境变量配置
- service.go - 服务名称和端口
- idl
- auth.proto - 认证服务 RPC 定义
- comment.proto - 评论服务 RPC 定义
- favorite.proto - 点赞服务 RPC 定义
- feed.proto - 视频流服务 RPC 定义
- publish.proto - 视频发布服务 RPC 定义
- relation.proto - 关注服务 RPC 定义
- user.proto - 用户服务 RPC 定义
- wechat.proto - 聊天服务 RPC 定义
- kitex_gen - 由 Kitex 自动生成的代码
- logging - 日志中间件配置
- manifests-dev - Kubernetes 清单文件
- repo - 数据库概要和由 Gorm Gen 自动生成的代码
- service
- storage - 对象存储中间件,支持 Amazon S3 和本地存储和火山引擎 ImageX
- test
本项目不支持 Windows 操作系统,见 Kitex
- Linux / MacOS
- Go
- FFmpeg
- PostgreSQL
- Redis
- OpenTelemetry Collector
推荐使用以下可观测性基础设施:
- Jaeger All in one
- Victoria Metrics
- Grafana
执行 ./build-all.sh
一次性构建所有服务.
- 执行
start.sh --service <service_name>
启动任一服务. service_name
可以是./service
目录下任一子目录名称.
运行 ./unit-test.sh
执行 go test toktik/test/e2e -tags="e2e"
- 请遵循 HowToAddServices 文件说明以创建新的服务。
- 创建一个新的分支并做出更改。
- 提交一个 Pull Request 到
main
分支。 - 等待 review 和合并。
Toktik is licensed under the MIT License.