# Análise Completa v1.0 vs v2.0 e Planos Futuros

**Data:** 2025-03-07  
**Base:** docs/plano-acao-v2-completo.md (Fases 0–7 concluídas)

---

## 1. Resumo executivo

| Aspecto | v1.0 | v2.0 | Gap |
|---------|------|------|-----|
| **Loterias com volante** | 9 (MG, LF, QN, LM, DS, TM, ST, SS, MM) | 5 (MG, LF, ST, TM, MM) | QN, LM, DS, SS sem volante |
| **Pagamentos** | MP, PagSeguro, Gerencianet, Cielo | Apenas PIX (Gerencianet/estático) | 3 gateways ausentes |
| **Cliente** | Painel completo, recuperar senha | Saldo, jogos, premiações, créditos | Recuperar senha, endereços |
| **Admin** | Completo | Não existe | Painel admin inteiro |
| **Loterias especiais** | Mega Virada, Dupla Páscoa, etc. | Não existe | Especiais ausentes |
| **Doctor / Afiliado / Campanha** | Existe | Não existe | Produtos paralelos |

---

## 2. Inventário v1.0

### 2.1 Módulos e controllers v1

| Módulo | Controllers | Status v2 |
|--------|-------------|-----------|
| **Bolao** | BolaoController, ConcursoController, GerenciarGruposController, GerenciarBoloesController, MatrizController | Parcial: leitura + conferência; sem gestão |
| **Loteria** | LoteriaController + 9 controllers por loteria + LotecaController, LotogolController | Parcial: 5 loterias com volante |
| **Carrinho** | CarrinhoController | Completo |
| **Cliente** | ClienteController, GerenciarClientesController | Parcial: auth, conta; sem recuperar senha |
| **Credito** | CreditosController, PagamentoMPController, PagamentoPagSeguroController, PagamentoGerencianetController, PagamentoCieloController, GerenciarPedidosCreditoController | Parcial: PIX apenas |
| **Usuario** | UsuarioController | Não existe |
| **Premio** | PremioResgatarController | Parcial: conta/premiacoes |
| **Admin** | AdminController, LoginController, ContaController, TarefasCronController, GenerateController | Não existe |
| **Afiliado** | AfiliadoController, GerenciarPedidosAfiliadoController | Não existe |
| **Campanha** | CampanhaController | Não existe |
| **Depoimentos** | DepoimentosController | Não existe |
| **Doctor** | LotofacilDoctorController, LotofacilDoctorSiteController, PagamentoLottoDoctorController | Não existe |
| **Relatorio** | RelatorioController | Não existe |

### 2.2 Fluxos v1 não cobertos na v2

- Recuperar senha (obter código, validar, alterar)
- Gerenciar pedidos de crédito
- Gerenciar clientes
- Gerenciar bolões/grupos
- Matriz de bolões
- Loterias especiais (Mega Virada, Dupla Páscoa, etc.)
- Indique um amigo
- Atendimento
- Cron (verificação de pagamentos MP, etc.)
- Doctor (landing + checkout)

---

## 3. Inventário v2.0

### 3.1 API (api/src/)

- **Controllers:** Loteria, Concurso, Bolao, Carrinho, Cliente, Auth, Preco, Resultado, Credito, Conferencia, Times, Config, WebhookGerencianet
- **Services:** Loteria, Concurso, Bolao, Carrinho, Finalizar, Cliente, Auth, Preco, Resultado, Credito, Conferencia, Times
- **Endpoints:** ~25 rotas documentadas em OpenAPI

### 3.2 Loterias por estado

| Loteria | Volante | Campo extra | Resultados | Bolões |
|---------|---------|-------------|------------|--------|
| MG | Sim | — | Sim | Sim |
| LF | Sim | — | Sim | Sim |
| QN | Não (em breve) | — | Sim | Sim |
| LM | Não (em breve) | — | Sim | Sim |
| DS | Não (em breve) | — | Sim | Sim |
| TM | Sim | TimeSelector | Sim | Sim |
| ST | Sim | MesSelector | Sim | Sim |
| SS | Não (em breve) | 7 colunas XY | Sim | Sim |
| MM | Sim | TrevoSelector | Sim | Sim |

---

## 4. Planos futuros (Fases 8+)

### Fase 8: Completar Loterias (100% - 105%)

| Item | Descrição | Esforço |
|------|-----------|---------|
| 8.1 Quina | NumeroSelector 1-80, 5-15 números | Baixo |
| 8.2 Lotomania | NumeroSelector 00-99, 50 números fixos | Médio |
| 8.3 Dupla Sena | NumeroSelector 1-50, 6-15 números (dois sorteios) | Médio |
| 8.4 Super Sete | Componente 7 colunas x 1 dígito (0-9), formato XY | Alto |

**Referências:** .cursor/rules/loterias/quina.mdc, lotomania.mdc, dupla-sena.mdc, super-sete.mdc

### Fase 9: Cliente e Autenticação (105% - 110%)

| Item | Descrição | Esforço |
|------|-----------|---------|
| 9.1 Recuperar senha | API: obter código, validar, alterar senha; frontend: fluxo completo | Médio |
| 9.2 Endereços | API: CRUD endereços; frontend: formulário em conta | Baixo |
| 9.3 Perfil | Editar nome, telefone, data nascimento | Baixo |

### Fase 10: Pagamentos Adicionais (110% - 115%)

| Item | Descrição | Esforço |
|------|-----------|---------|
| 10.1 Mercado Pago | API: criar preferência, webhook; frontend: botão MP | Alto |
| 10.2 PagSeguro | API: checkout, webhook; frontend: integração | Alto |
| 10.3 Cielo | API: checkout cartão; frontend: formulário | Alto |

### Fase 11: Loterias Especiais (115% - 118%)

| Item | Descrição | Esforço |
|------|-----------|---------|
| 11.1 Mega da Virada | Subrota /mega-sena/mega-da-virada, regras específicas | Médio |
| 11.2 Dupla de Páscoa | Subrota /dupla-sena/dupla-de-pascoa | Baixo |
| 11.3 Lotofácil Independência | Subrota /lotofacil/lotofacil-independencia | Baixo |
| 11.4 Quina de São João | Subrota /quina/quina-sao-joao | Baixo |

### Fase 12: Admin (opcional, 118% - 125%)

| Item | Descrição | Esforço |
|------|-----------|---------|
| 12.1 Admin API | Auth admin, endpoints protegidos | Alto |
| 12.2 Admin frontend | Next.js em /admin ou app separado | Muito alto |
| 12.3 Gerenciar pedidos crédito | Listar, aprovar, rejeitar | Médio |
| 12.4 Gerenciar clientes | Listar, editar, bloquear | Médio |
| 12.5 Gerenciar bolões | CRUD grupos/bolões | Alto |

### Fase 13: Produtos Paralelos (opcional)

| Item | Descrição | Prioridade |
|------|-----------|------------|
| 13.1 Doctor | Lotofácil Doctor: landing, checkout, fechamentos | Baixa |
| 13.2 Afiliado | Programa de afiliados | Baixa |
| 13.3 Campanha | Campanhas de marketing | Baixa |
| 13.4 Depoimentos | Carrossel de depoimentos na home | Média |

---

## 5. Ideias e melhorias (ideias-melhorias.md)

### Alta prioridade

- Surpresinha inteligente (números quentes/frios)
- Teimosinha visual (concursos restantes)
- Simulador de divisão de bolão
- LGPD: banner de cookies, consentimento newsletter
- Extrair ConferenciaLotofacilService (e similares) do ConcursoController

### Média prioridade

- Schema.org Product/Event por loteria
- PWA para resultados e histórico
- A/B test de layout
- API Caixa para resultados oficiais

### Baixa prioridade

- Blog (dicas, estatísticas)
- ADRs adicionais
- Consolidação de rules

---

## 6. Arquitetura sugerida

### 6.1 Manter (Opção A)

- API thin layer sobre DAOs legados
- Services orquestrando DAOs
- Não alterar src/ legado

### 6.2 Evolução gradual

1. **Conferência:** Extrair ConferenciaService por sigla (ConferenciaLotofacilService, ConferenciaMegaService, etc.) para reduzir ConcursoController (~5.900 linhas)
2. **Pagamentos:** Criar PaymentGatewayInterface e implementações (Gerencianet, MP, PagSeguro, Cielo)
3. **Sessão:** Migrar sessões para Redis quando possível
4. **Cache:** Redis para resultados e listagem de bolões

### 6.3 Opção B (futuro)

- Clean Architecture quando v1 for desativada
- Domain, Application, Infrastructure, Presentation
- Estimativa: 5–7 meses (1 dev)

---

## 7. Sequência recomendada

```
Fase 8 (Loterias) → Fase 9 (Cliente) → Fase 10 (Pagamentos) → Fase 11 (Especiais)
```

Admin e produtos paralelos podem ser tratados depois, conforme prioridade de negócio.
