games: save browser history and show per-game progress

Aperta
#69 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
next.js, react, typescript
Ambito
frontend, testing

Direzione di ricerca

Start by reading the existing game implementation under src/features/games/, then inspect issue #58 and the integrated game it provides. Define and validate a separate versioned browser-storage format for completed sessions, with bounded deduplication and safe handling of unsupported or corrupt data and unavailable storage. Add recent-attempt feedback, compatible-result comparisons, and a clear-history control; done means the requested unit and browser tests pass while existing practice history and /api/platform/progress remain unchanged.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement games help wanted

Part of #24. Depends on #58 and at least one integrated game.

Student problem

Results disappear after leaving a game, so students cannot review practice or see whether they are improving.

Scope

  • Add a separate, versioned and validated browser-storage format under src/features/games/.
  • Record game ID, rules version, mode, difficulty, completion time, duration and clearly defined result counts/status.
  • Bound retained history, deduplicate completed sessions, and handle malformed data or unavailable storage without blocking practice.
  • Show recent attempts and useful per-game feedback. Compare results only across compatible game/rules/mode/difficulty.
  • Explain that history stays on this browser/device and provide a clear-history control.
  • Preserve existing question-practice history and the /api/platform/progress contract; game results do not fit its MCQ schema.
  • Keep guest history available without login. These are personal practice records, not verified rankings or hiring-readiness scores.

Done when

  • Tests cover reload, validation, duplicates, retention, clearing, storage failure and unsupported schema versions.
  • A browser test finishes a game, reloads, finds the saved result and clears it.
  • Unsupported or corrupt data fails safely without affecting existing learning progress.

Account sync, backend persistence and public leaderboards require separate scope.

Lingua principale
TypeScript
Stelle
1
Fork
1
Merge medio
8h 58m
PR unite (30g)
37

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di procoderji-com/procoderji

Tutte le issue di procoderji-com/procoderji

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.