This repository is for an AI-powered language learning chatbot and tool. The goal is to build an intelligent assistant to help practice and learn new languages.
- Chat interface for conversing with AI bot
- NLP powered by BERT models and intent classification
- Speech recognition and synthesis for audio conversation
- Personalized learning based on knowledge gaps
- Vocabulary practice and quizzes
- Translation and pronunciation help
- Admin dashboard for managing content
- Go backend with Gin framework
- PostgreSQL database
- Docker for environment and deployment
- React frontend
- Google Cloud Speech & Text-to-Speech APIs
- BERT NLP models
- TailwindCSS styling
- GitHub Actions CI/CD
- Fly.io hosting
- Install Go 1.18+
- Clone the repo
- Initialize the DB schema
- Start the API with
go run .
- Connect to http://localhost:8080
go test -cover ./... # test coverage for recursively
go test -coverprofile=c.out # create a test coverage file
go tool cover -func=c.out # print nice coverage report to console
go test -v -short # run only unit tests
go test -v -run ".Integration" ./... # if using name convention
note: without the -short flag all tests will run
- Please use format TestNameIntegration for integration tests with below code to skip for short
if testing.Short() {
t.Skip("skipping integration test")
}
Contributions welcome!
This project uses the MIT license - see LICENSE.md for details