Skip to content
  1. Aug 07, 2026
    • Igor Matheus's avatar
      Bolão: backend NestJS, app Flutter e o processo que os produziu · e51807ea
      Igor Matheus authored
      
      
      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: default avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
      e51807ea
    • Igor Matheus's avatar
      Initial commit · 5a0abfed
      Igor Matheus authored
      5a0abfed