Categorygithub.com/MaxRazen/tutor
modulepackage
0.0.0-20240609160220-544625c9766e
Repository: https://github.com/maxrazen/tutor.git
Documentation: pkg.go.dev

# README

AI Language Tutor

Roadmap

  • Authorization
  • DB integration
  • Storage integration
  • Websocket room's communication
  • Call mode
    • Room creation
    • Basic call mode UI
    • Voice recording & saving to bucket
    • Voice to text transformation
    • Text request to GPT model
    • Text to voice transformation
    • Room history extraction
    • Context configurator
    • Call mode extended UI
  • Chat mode
    • Basic chat mode UI
    • Text request to GPT model
  • Text to speech converter

Build & Development

Important: Please keep in mind the project is built to have only one executable & transferable file. All the assets/credentials are embeded into the binary.

Important: The build can be run in two modes: release and devonly. devonly build mode does not serve embeded UI assets to support quick development and to not re-compile backend side each time. Please use make run for compiling project in devonly mode, and make build to get a production-ready binary.

Requirements

  1. Google OAuth
  2. Google Cloud Storage (service key)
  3. MySQL/MariaDB 5.7 or higher
  4. NodeJS v18

Init Project

  1. Run make init and add your GCP service key (with Read-Write-Create access to Cloud Storage) to the ./credentials/gcp.json file
  2. Ensure you set all the variables in ./credentials/env file. Here's the example:
APP_KEY=A02E..F== # base64 encoded bytes, used for JWT generating
GOOGLE_OAUTH_CLIENT_ID={cient id}
GOOGLE_OAUTH_SECRET={oauth secret}
GOOGLE_OAUTH_CALLBACK_URL=http://localhost:3000/auth/callback/google
STORAGE_BUCKET_NAME=my-bucket-name
DB_DSN=luke:secret@tcp(127.0.0.1:3306)/tutor

Development

  1. Use make ui-watch, or run npm run watch from the ./ui dir
  2. Use make run to compile project in devonly mode. Please keep in mind server will be serving assets from the actual ./ui/public directory

# Packages

No description provided by the author

# Functions

No description provided by the author
No description provided by the author

# Structs

No description provided by the author