Professional desktop application for chess tournament management. Built with Tauri, React, and Rust for native performance across Windows, macOS, and Linux.
- Tournament Types: Swiss system, Round-robin, and Team tournaments with FIDE-compliant pairing
- Player Management: Professional registration with chess titles, ratings (FIDE, national, rapid, blitz), bulk CSV import
- Team Tournaments: Complete team management with multiple scoring systems (Match Points, Board Points, Olympic)
- Live Standings: Real-time calculations with standard tiebreak methods
- Offline-First: Local SQLite database with full functionality without internet
- Multi-language: English, Russian, and Ukrainian
- Node.js 18+
- Rust (latest stable)
- Yarn
# Clone repository
git clone https://github.com/grok-rs/pawn.git
cd pawn
# Install dependencies
yarn install
# Run development server
yarn tauri devThe app will open automatically. Database migrations run on first launch.
yarn tauri buildInstallers are created in src-tauri/target/release/bundle/.
# Development
yarn tauri dev # Full app with hot reload
yarn dev # Frontend only (localhost:1420)
# Code Quality
yarn format:all # Format code (frontend + backend)
yarn lint # Run linter
yarn type-check # TypeScript validation
# Testing
yarn test # Unit tests
yarn test:coverage # With coverage
yarn test:integration # Backend integration tests
# Security
yarn security:audit # Check dependenciespawn/
├── src/ # React frontend (TypeScript)
│ ├── components/ # UI components
│ ├── pages/ # Main pages
│ └── locales/ # i18n translations
├── src-tauri/ # Rust backend
│ ├── src/pawn/
│ │ ├── command/ # Tauri commands (API)
│ │ ├── service/ # Business logic
│ │ ├── domain/ # Data models
│ │ └── db/ # Database layer
│ └── migrations/ # SQL migrations
└── docs/ # Documentation
Frontend: React 18, TypeScript, Material-UI v6, Vite Backend: Rust, Tauri 2.5, SQLite, SQLx Tools: tauri-specta (type-safe bindings), react-hook-form, i18next
- FIDE Tournaments: Official ratings, titles, multi-language support
- Club Championships: Member management, local ratings, historical data
- Team Events: Olympic-style competitions with flexible scoring
- Youth Tournaments: Age-based categories, parent contacts, safety features
- Enhanced Player Management - Player system details
- Pairing Test Guide - Tournament pairing system
- Fork the repository
- Create feature branch:
git checkout -b feature/name - Follow existing patterns (service layer, DTOs, tests)
- Submit PR with clear description
Areas to contribute: UI components, pairing algorithms, i18n translations, testing, documentation
Current: Advanced statistics, PDF reports, enhanced export
Planned: Mobile app, cloud sync, chess server integration, analytics
Full roadmap: GitHub Projects
MIT License - see LICENSE file
- Issues - Bug reports & feature requests
- Discussions - Community support
Built for tournament directors who value reliability and professional features 🏆