ff484ef693301db4b4efb51ee89e7d500753ee08
The gameState stream event does not carry player names, so snapshot.white/black
were always undefined and the UI fell back to the literal strings "Black" and
"White". Fix by fetching the full game object (GET /api/tournament/{id}/game/{gameId})
on page load, which includes BotRef with real names, and storing them in
dedicated whiteName/blackName fields.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
NowChess Frontend
Angular 20 frontend for the NowChess board UI.
Tech stack
- Angular standalone components and route-based pages
- HTTP and streaming integration for live game updates
- Asset sprites loaded from
arabian-chess/
Project structure
src/app/pagespage-level containers (welcome,game)src/app/componentsreusable UI pieces (chess-board,chess-piece)src/app/servicesAPI and stream integration (GameApiService)src/app/modelsshared API/domain typessrc/app/core/chesschess domain utilities (FEN parsing and square lookup)src/environmentsenvironment-specific API base URLs
Run locally
npm install
npm start
Open http://localhost:4200.
Development environment defaults to:
- API:
http://localhost:8080 - WebSocket:
ws://localhost:8080
src/environments/environment.ts is production-oriented (production: true) and src/environments/environment.development.ts is development-oriented (production: false).
Build and test
npm run build
npm test
Description
Languages
TypeScript
39.8%
CSS
35.5%
HTML
24.5%
Dockerfile
0.1%
Shell
0.1%