31601e7971cb766195b059a16a0a5a67d945bad2
The tournament join was sending a bot bearer token with an empty body,
but the backend join endpoint expects a JSON body {botId, botName}, so it
returned 400. Restore body-based join and source the join dialog from
official (engine-backed) bots via /api/account/official-bots, since only
official bots have a server-side engine that plays their moves; normal
account bots have no engine and never move.
Co-Authored-By: Claude Opus 4.8 <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
38.4%
CSS
37%
HTML
24.2%
Dockerfile
0.2%
Shell
0.2%