A modern, high-performance chess application requires a robust and specialized technology stack. Below is the detailed breakdown of the tools and languages powering each layer of the platform.
The frontend is designed for high-interactivity and high-performance rendering of chess positions. It is built as a Single Page Application (SPA).
- Framework: Vue.js 3.5+ (Composition API)
- Language: TypeScript (Strict mode)
- Build Tool: Vite 7.x
- State Management: Pinia
- UI Component Library: Naive UI
- Chess Visualization:
Chessground: High-performance chessboard rendering (by Lichess).Chessops: Modular library for move generation and legality checks.
- Data Visualization: Apache ECharts (for training progress and statistics).
- Internationalization:
vue-i18n(Multi-language support).
The backend services manage user state, engine orchestration, and database interactions.
- Framework: NestJS 11.x (Node.js framework for scalable server-side applications).
- Language: TypeScript.
- Database ORM: TypeORM.
- API Protocol: REST (with OpenAPI/Swagger documentation).
- Communication: Axios (for inter-service and external API calls).
- Task Scheduling: Integrated NestJS Cron jobs for analysis tasks.
A distributed engine architecture provides the specialized computations required for analysis and sparring.
- Analysis Engine: Stockfish 18 (C++).
- Human-like engines:
- LCZero 32.0 (Neural Network engine).
- Maia Weights: Specialized neural network weights for human-like move prediction.
maia-1900.pb.gz: Simulates club-level human play.maia-2200.pb.gz: Simulates master-level human play.
- BadGyal Weights: Aggressive and classification-heavy weights.
badgyal-8.pb.gz: Optimized for sharp, tactical move classification.
- External Intelligence: n8n.io (Visual workflow automation) for complex backend logic and webhook processing.
- Primary Database: PostgreSQL (via Supabase).
- Local/Caching: SQLite3.
- Containerization: Docker & Docker Compose.
- Package Manager: pnpm (for fast and disk-efficient dependency management).
Back to: Project Overview & Mission | Next Chapter: Architecture Overview