This app exists as a tool for language development. While there are many apps for language "learning" out there, I wanted to build something that would solve a number of pain points I have during day-to-day interactions in a new language.
A few use-cases:
- "dictionary-like" capabilities for new words and coloquial prases.
- "message-checker" tools that can give feedback on a composed message.
- [To Be Developed] "learning over time" features tied to your user, reading chat messages (i.e. WhatsApp, Telegram) and providing guidance on how to improve your language skills.
NOTE: requires a US VPN for Gemini API key
- Create env
cp .env.sample .env - Install mkcert
- mac via
brew install mkcert - windows via https://github.com/FiloSottile/mkcert/releases
- mac via
- Generate certificates
mkcert -key-file src/.cert/key.pem -cert-file src/.cert/cert.pem 'local.chatparser.xyz'
- Boot the app
docker compose up - Visit https://local.chatparser.xyz
- Visit https://local.chatparser.xyz/static/pages/dict.html
- To add packages
- Installing golang packages:
docker compose run golang sh -c "go get {package}" - Installing node packages:
docker compose run vite sh -c "yarn add {package}"
- Installing golang packages:
[optional] install gcloud
https://cloud.google.com/sdk/docs/install#linux
gcloud auth login
gcloud config set project chatparser
Deployments to the cloud occur by pushing to the respective branches, CI/CD is handled by Google Cloud Build.
Deploying to production should be done easily, but "verification" of CI/CD steps is required, note the "checks" in cloudbuild/. These checks must pass before deployment: build, test, validate, security.
Deploying to test should be done with ease for testing purposes, a broken test environment is not a concern. Passing "checks" are not required before deployment.