Lexora is a language-learning platform for English (en), Greek (el), and Ukrainian (uk).
The product uses:
- Odoo 18 as the main application monolith (auth, users, vocabulary, chat, posts, PvP battles, dashboards)
- FastAPI Translation Service β offline translation via Argos Translate
- FastAPI LLM Service β synonyms, antonyms, example sentences, explanations (Qwen3 8B local model)
- FastAPI Anki Import Service β
.apkgand.txtAnki deck imports - FastAPI Audio/TTS Service β offline text-to-speech (piper / espeak-ng)
- RabbitMQ β async event bus between Odoo and the four worker services
- PostgreSQL 15 β primary database
- Redis β ephemeral PvP battle state
| Document | Purpose |
|---|---|
| docs/SPEC.md | Full product specification: domain model, all features, privacy rules, PvP rules |
| docs/ARCHITECTURE.md | System design: services, Odoo modules, event catalog, real-time design |
| docs/PLAN.md | Milestone-by-milestone implementation plan with verification commands |
| docs/DECISIONS.md | Architecture decision records (ADR-001βADR-019) with rationale |
| CLAUDE.md | Claude Code context: build commands, key invariants, module install order |
cp env.example .env # fill in passwords
make up-dev # start full dev stack (once M0 is implemented)See docs/PLAN.md for the milestone-by-milestone implementation guide.
Discovery and specification complete. Implementation not yet started. Begin at M0 in docs/PLAN.md.