Bolão: backend NestJS, app Flutter e o processo que os produziu
Produto completo de bolão de futebol, construído do PRD ao device: 35 das 38
stories fechadas, 312 de 318 tasks, três PRDs concluídos (Identificação e
acesso, Criação e convite, Ciclo de vida do bolão).
Backend (NestJS 11 + Prisma 7 + Postgres)
- Palpite com prazo decidido pelo relógio do servidor, sigilo até o fim do jogo,
apuração 10/5/3 lida da configuração do bolão, ranking com desempate por
critério configurável, extrato explicando cada ponto.
- Ciclo de vida: encerramento normal e antecipado, campeão derivado na leitura
(nunca congelado), arquivamento reversível, recriação de temporada herdando
regras e galera.
- Fonte oficial de calendário e placar via porta `FonteDeDados`: adaptador falso
para desenvolvimento e `FootballDataAdapter` (football-data.org v4) para
produção. O limite de 10 req/min desenhou o adaptador — uma requisição por
temporada, cache de 5 min, cota recusada antes de ser gasta.
- 71 testes de unidade e 216 e2e, em banco próprio (`bolao_test`).
App (Flutter + Riverpod sem codegen)
- Palpite offline com rascunho local e fila de envio, contagem de prazo pelo
horário do servidor, ranking e extrato, convite por link e por código,
administração de participantes.
- 235 testes de widget e unidade; identidade visual da Raro (#615FF6) com os
contrastes medidos e travados por teste.
Documentação (docs/)
- 5 PRDs, 38 stories com tasks por disciplina, 27 planos de caso de teste com
execução registrada, e `CONTROLE.md` como fonte única de progresso —
verificado por `docs/validar.sh`.
As 6 tasks abertas dependem de credencial do FCM e de hospedagem que não
hiberne, não de código.
Co-Authored-By:
Claude Opus 5 (1M context) <noreply@anthropic.com>
parent
5a0abfed
Please register or sign in to comment