Rokirovka.uz
Chess lessons, tactical practice and game analysis in Uzbek.
Overview
A chess platform combining Uzbek lessons and guides, tactical puzzles, games, tournaments and the Uzbekistan chess archive. React and MUI workspaces connect to a Django REST API, with Stockfish supporting computer play and position analysis.
The challenge
Lessons, timed practice and live games have different rules for progress and timing. They share a board interface while the server validates moves, records results and keeps account progress consistent.
Engineering decisions
A shared chess workspace
React and TypeScript modules reuse the same board for lessons, puzzles, games and analysis. PGN import and export, FEN positions, move replay and analysis variations connect practice to reviewing a game.
Server-validated play and progress
Django services validate legal moves with python-chess and manage game clocks, rated queues, puzzle results, races and tournament rounds. Guest progress transfers to an account during registration.
Bounded engine analysis
Stockfish runs through the UCI protocol with limits on concurrent processes, analysis time, threads and memory. The analysis workspace presents alternative continuations that can be played on the board.
Learning material with traceable sources
Uzbek lessons, guides and spaced review sit alongside Lichess CC0 puzzles, player profiles and dated FIDE ratings. Repeatable imports and content snapshots keep the archive and learning catalogue consistent.
What it delivers
One learning environment for studying a topic, practising on the board, playing a game and analysing the result. Personal history, bookmarks and progress connect these activities.
Sources & context
Technical scope: React, TypeScript and MUI interfaces; Django REST services; python-chess rules and Stockfish UCI analysis. The interface study uses the platform’s queen-and-king mate exercise.
Rokirovka.uz