games: save browser history and show per-game progress

Ouverte
#69 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
next.js, react, typescript
Domaine
frontend, testing

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
1
Forks
1
Merge moyen
8 h 58 min
PR mergées (30 j)
37

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de procoderji-com/procoderji

Toutes les issues de procoderji-com/procoderji

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.