A language learning web application that helps users master vocabulary through spaced repetition. Live demo: lingua-quiz.nikolay-eremeev.com
Prerequisites:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
Clone and Deploy:
git clone https://github.com/nikolay-e/lingua-quiz.git
cd lingua-quiz
make local
Access the App:
Clean Up:
make clean-local
LinguaQuiz uses FluxCD for GitOps-based continuous deployment to Kubernetes clusters.
# Bootstrap FluxCD for production
cd flux
./bootstrap.sh production
# Check deployment status
flux get all
flux get helmreleases -n lingua-quiz-production
CI Pipeline (GitHub Actions):
CD Pipeline (FluxCD):
See flux/README.md for detailed setup instructions.
Frontend: Svelte 5, Vite 7 Backend: Python 3.13, FastAPI, PostgreSQL Infrastructure: Docker, Kubernetes, Helm Testing: Playwright E2E tests, Python integration tests
Contributions are welcome! Please feel free to submit a Pull Request.