The Quarkus project moves to apps/backend and the Express sources go. The image is built from the repo root as before, with Temurin 25, and runs as a non-root user on port 6000. Compose passes the database as a JDBC URL with the same MANCALA_DB_PASSWORD.
1.5 KiB
1.5 KiB
Quarkus backend: tasks
Work through the tasks in order; each ends with its tests passing and a commit. Tick a task when it is committed.
- 1. Spec: requirements, design and tasks.
- 2. Project and engine: Maven project in
apps/backend-quarkus(Quarkus 3.40, Java 25); the engine port with unit tests;scripts/record-engine-games.jsand the parity test (R2). - 3. Models, game loop and auth: the wire types and the shared
ObjectMapper;GameLoop,Scheduler,ManualScheduler;KeycloakTokenVerifierwith unit tests. - 4. Game logic:
GameStore,MatchMaker,GameClocks,GameSerialization,GameRecorder,GameManager,GameClockScheduler,LiveGames,PublicIds,CrashLog; the in-memory fakes and the ported unit tests. - 5. Storage: migrations and their runner,
PostgresGameHistoryRepository,GameHistoryService,ValkeyLiveGameStore,ValkeyCache; integration tests with Dev Services. - 6. WebSocket and HTTP:
RtmtServerwith unit tests,RtmtEndpoint, the HTTP resources,Backendwiring and startup, configuration;@QuarkusTests for the API and the WebSocket. - 7. Replace the Node backend: move the project to
apps/backend, Dockerfile,.dockerignore, compose, remove the Node sources; build the image. - 8. End to end and docs: the Chrome tests from
design.mdagainst the local stack;README.md,apps/backend/README.md,AGENTS.md,TODO.md.