# Ideias e Melhorias para a Plataforma

Sugestões baseadas no estudo das loterias e no fluxo atual.

---

## 1. UX e Usabilidade

### Jogos individuais
- **Preview de preço em tempo real:** Mostrar valor da aposta conforme o usuário marca números (especialmente LF, MG, QN com múltiplas combinações).
- **Surpresinha inteligente:** Oferecer "números quentes" (mais sorteados) ou "números frios" como opção além da aleatória.
- **Teimosinha visual:** Indicador claro de quantos concursos restam quando o usuário usa Teimosinha.
- **Validação antes de adicionar:** Evitar adicionar ao carrinho jogos inválidos; feedback imediato de erro.

### Bolões
- **Simulador de divisão:** "Se o bolão ganhar R$ X, cada cota recebe R$ Y."
- **Filtro por concurso:** Na listagem, filtrar bolões pelo próximo concurso específico.
- **Indicador de cotas disponíveis:** Destaque visual quando restam poucas cotas.

### Resultados
- **Comparação automática:** Ao ver resultados, destacar quais números da aposta do usuário foram sorteados.
- **Notificação de premiação:** E-mail/push quando o usuário for premiado (após conferência).
- **Histórico de premiações:** Página "Minhas premiações" com valor total recebido.

---

## 2. Regras e Validação

### Consistência com Caixa
- Manter tabela de preços oficiais (Lotofácil 15-20 números, etc.) em config ou banco para validação.
- Validar limites de marcação no backend, não só no frontend.
- Para MM: validar que C(dezenas,6)*C(trevos,2) está correto antes de persistir.

### Novas loterias
- Criar RULES antes de implementar; documentar em `docs/loterias/`.
- Testes de conferência para cada faixa de premiação antes de ir para produção.

---

## 3. SEO e Conteúdo

### Páginas por loteria
- "Como jogar na [Loteria]" com regras resumidas e link para Caixa.
- "Resultados [Loteria]" com meta dinâmica (número do concurso, data).
- Blog: dicas, estatísticas, "números mais sorteados" (dados públicos).

### Schema.org
- `Product` para cada tipo de aposta.
- `Event` para sorteios com data/hora.

---

## 4. Performance e Confiabilidade

### Conferência
- ConcursoController com ~5.900 linhas: considerar extrair serviços por sigla (ex: `ConferenciaLotofacilService`).
- Processar conferência em fila (queue) para concursos com muitos bolões.
- Log de auditoria: quem conferiu, quando, resultado.

### Carrinho
- Persistir carrinho no banco para usuários logados (evitar perda ao fechar navegador).
- Expirar itens do carrinho quando o concurso já foi sorteado.

---

## 5. Segurança e Conformidade

- **LGPD:** Consentimento explícito para newsletter, cookies, dados de pagamento.
- **Jogo responsável:** Mensagens de conscientização, link para ajuda (jogadores problemáticos).
- **Idade:** Verificação 18+ no cadastro e em páginas de aposta.

---

## 6. Integrações

- **API Caixa:** Se disponível, consumir resultados oficialmente para evitar digitação manual.
- **Webhooks de pagamento:** Notificar usuário e liberar créditos automaticamente ao confirmar pagamento.

---

## 7. v2.0 Específico

- **Design system:** Componentes reutilizáveis por loteria (NumeroSelector, Cartela, ResultadoCard).
- **A/B test:** Layout Mega Loterias vs alternativas para medir conversão.
- **PWA:** Modo offline para consultar resultados e histórico de jogos.

---

## 8. Testes

- **Unitários:** Regras de conferência (`_calcularMultiplosMaisMilionariaFaixa`, `_gerarMultiplosLoto`), validações de preço.
- **Integração:** Fluxo carrinho -> finalizar -> conferir.
- **E2E:** Fluxo de compra em ambiente de homologação.
- **Referência:** `db/test_e2e_mais_milionaria.php`, `tests/Bolao/BolaoMMGeradorTest.php`.

---

## 9. Documentação da API (v2.0)

- OpenAPI/Swagger para endpoints REST.
- Exemplos de request/response por endpoint.
- Códigos de erro padronizados.
- Autenticação (JWT/sessão) documentada na spec.

---

## 10. Monitoramento e Observabilidade

- **Erros:** Sentry ou similar (PHP + frontend).
- **Analytics:** GA4 com eventos de conversão (cadastro, início de aposta, aposta finalizada).
- **Logs:** Logs estruturados (JSON) para facilitar busca.
- **Uptime:** Ping em endpoints críticos.

---

## 11. Ambiente e Infraestrutura

- **Staging:** Ambiente separado para testes antes de produção; banco com dados anonimizados; integrações em sandbox.
- **Backup:** Backup automático do banco; procedimento de restore documentado; testes periódicos de restore.
- **Cache:** Resultados de concursos; listagem de bolões; Redis para sessões em v2.0.

---

## 12. Acessibilidade (WCAG)

- Contraste adequado, labels em formulários, navegação por teclado.
- Testes com leitores de tela.
- Relevante para público 18+ e compliance regulatório.

---

## 13. Jogo Responsável (complementar à seção 5)

- Limite de depósito ou aposta por período (se aplicável).
- Link para Jogadores Anônimos ou similar.

---

## 14. ADRs (Architecture Decision Records)

- Documentar decisões importantes (ex: "Por que Opção A?", "Por que manter PHP?").
- Manter em `docs/adr/` ou seção dedicada.
- Ajuda a manter consistência ao longo do tempo.

---

## 15. Consolidação de Rules

- `mais-milionaria-regras.mdc` e `loterias/mais-milionaria.mdc` duplicados.
- Manter apenas `loterias/mais-milionaria.mdc`; remover ou referenciar o outro.

---

## Priorização Sugerida

| Prioridade | Item | Motivo |
|------------|------|--------|
| Alta | Testes de conferência | Evitar erros em premiações |
| Alta | Staging | Validar antes de produção |
| Média | Documentação da API | Essencial para frontend v2.0 |
| Média | Monitoramento | Detectar problemas cedo |
| Baixa | ADRs | Longo prazo |
| Baixa | Consolidação de rules | Reduz duplicação |
