ChatGPT integrated short video microservice application built with Kitex and Hertz , made by Toktik-Team in The 5th Bytedance Youth Training Camp. |
---|
English | 简体中文
The 5th Bytedance Youth Training Camp Report Documentation: https://qrggpk56b9.feishu.cn/docx/Djwpdm8oZo3JyRx0JwkcZhRDnVd
Earned the Best Project award in the 5th Bytedance Youth Training Camp.
Download Dousheng app from here, and use this URL to test with the demo.
- constant
- biz - Business logic related constants
- config
- env.go - Environment variable configs
- service.go - Service names and ports
- idl
- auth.proto - RPC definition of auth service
- comment.proto - RPC definition of comment service
- favorite.proto - RPC definition of favorite service
- feed.proto - RPC definition of feed service
- publish.proto - RPC definition of publish service
- relation.proto - RPC definition of relation service
- user.proto - RPC definition of user service
- wechat.proto - RPC definition of chat service
- kitex_gen - Generated code by Kitex
- logging - Logging middleware
- manifests-dev - Kubernetes manifests
- repo - Database schemas and generated code by Gorm Gen
- service
- storage - Storage middleware, s3, local storage & volcengine ImageX supported
- test
This project does not support Windows, as Kitex does not support either.
- Linux / MacOS
- Go
- FFmpeg
- PostgreSQL
- Redis
- OpenTelemetry Collector
For observability infrastructures, it's recommended to use:
- Jaeger All in one
- Victoria Metrics
- Grafana
Run ./build-all.sh
in your Linux environment to compile all services.
Check out constant/config/env.go
- Run
start.sh --service <service_name>
to start a service. service_name
could be any of the sub directory of./service
.
Run ./unit-test.sh
Run go test toktik/test/e2e -tags="e2e"
- Please following the HowToAddServices to create your own service.
- Create a new branch and make your changes.
- Create a pull request to the
main
branch. - Wait for review and merge.
Toktik is licensed under the MIT License.