/toktik

ChatGPT integrated short video microservice application built with Kitex and Hertz. 第五届字节跳动青训营后端大作业“码如磐石奖(一等奖)”获奖项目

Primary LanguageGoMIT LicenseMIT

Toktik

logo 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.

Demo

Download Dousheng app from here, and use this URL to test with the demo.

https://toktik.xctra.cn/

Project Structure

Prerequisite

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

Build

Run ./build-all.sh in your Linux environment to compile all services.

Configurations

Check out constant/config/env.go

Run

  • Run start.sh --service <service_name> to start a service.
  • service_name could be any of the sub directory of ./service.

Test

Unit Test

Run ./unit-test.sh

End-to-End Test

Run go test toktik/test/e2e -tags="e2e"

How to Contribute

  1. Please following the HowToAddServices to create your own service.
  2. Create a new branch and make your changes.
  3. Create a pull request to the main branch.
  4. Wait for review and merge.

Contributors

License

Toktik is licensed under the MIT License.