games: save browser history and show per-game progress

Aberta
#69 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
next.js, react, typescript
Domínio
frontend, testing

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
TypeScript
Estrelas
1
Forks
1
Merge médio
8h 58min
PRs com merge (30d)
37

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de procoderji-com/procoderji

Todas as issues de procoderji-com/procoderji

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.