lila/apps/api
lila 0755c57439 feat(api): wire GameSessionStore into createGameSession
The service now tracks the correct optionId for each question and
stores the answer key in the GameSessionStore after building the
session. The client response is unchanged — the store is invisible
to the outside.

- Build answerKey (questionId → correctOptionId) during question
  assembly by finding the correct answer's position after shuffle
- Store the answer key via gameSessionStore.create() before returning
- Add excludeText parameter to getDistractors to prevent a distractor
  from having identical text to the correct answer (different term,
  same translation). Solved at the query level, not with post-filtering.
- Module-level InMemoryGameSessionStore singleton in the service
2026-04-11 11:52:38 +02:00
..
src feat(api): wire GameSessionStore into createGameSession 2026-04-11 11:52:38 +02:00
Dockerfile infra: add Docker Compose setup for local development 2026-03-25 18:56:04 +01:00
package.json feat(api): scaffold express server with /api/health endpoint 2026-03-21 10:17:53 +01:00
tsconfig.json feat(api): add in-memory GameSessionStore 2026-04-11 11:42:13 +02:00
vitest.config.ts chore: configure vitest with project-based setup and coverage 2026-03-20 19:25:00 +01:00