Game Client
The Game Client is the learner-facing Next.js app (apps/game-client, development port 3000).
Implemented foundation
The route files under apps/game-client/src/app/[locale] currently expose:
| Route | Current surface |
|---|---|
/{locale} | Home |
/{locale}/explore/alphabet | Alphabet exploration |
/{locale}/study/lesson/{lessonId} | Lesson study |
/{locale}/study/module/{moduleId} | Module study |
/{locale}/translit | Transliteration |
/{locale}/settings | Locale settings |
There is also localized not-found handling. No Play, vocabulary, or /explore entry route file is present. The product route specification describes the target experience, not the current route inventory. Route existence alone does not certify feature completeness.
Architecture
src/learning-content/ingestion loads bundled JSON; src/learning-content/library/build-library.tsx builds indexed content and get-library-server.tsx supplies it to server components. This content path does not fetch a backend API at runtime. src/root-layout integrates styles, fonts, query providers and database initialization. src/navigation contains Next.js and SPA navigation integrations.
src/proxy.ts redirects bare/unsupported-locale paths using a supported preferred-locale cookie, the first Accept-Language entry, then English. Supported locales are en and ru; the current root redirect is /{locale}, not the planned /{locale}/explore. src/i18n owns the app's translation resources and locale resolution.
The Game Client architecture follows the content and local activity-state flows end to end, including the implemented error/degradation behavior and change-specific validation.
See Data & Privacy for persistence and identifiers, Libraries for the reactive data stack, and Design System for shared styling.
Offline scope
next.config.ts wraps Next.js with withSerwist. The repository does not currently contain a complete service-worker implementation/registration flow. Local persistence and bundled content do not prove cold-start offline availability. Treat full offline operation as planned until service-worker behavior and offline acceptance checks are verified.
Product specification
The Product overview, roadmap and screen catalog retain the intended learning experience. Their planned status does not mean every described element is absent; this page owns the current implementation inventory.