# Status Chegoou

Documento de rastreio das solicitacoes feitas ate agora.

## Legenda

- `Concluido`: existe no projeto em modo navegavel ou funcional
- `Parcial`: existe scaffold, UX, regra local ou contrato, mas nao esta 100% integrado
- `Pendente`: ainda precisa implementacao real

## Fundacao do monorepo

- Monorepo `apps/*` e `packages/*`: `Concluido`
- API NestJS + Prisma + Swagger base: `Concluido`
- Painel web admin e restaurante: `Concluido`
- Apps mobile cliente e entregador: `Parcial`
- Docker/Compose/Nginx documentados: `Parcial`
- Banco externo cPanel integrado: `Pendente`

## Banco de dados

- Schema Prisma amplo com users, customers, drivers, restaurants, orders, wallets, tracking, ads e assinaturas: `Concluido`
- SQL bootstrap do schema: `Concluido`
- Persistencia interna local em arquivo para testes: `Concluido`
- PostgreSQL local real rodando nesta maquina: `Pendente`
- PostgreSQL externo autenticado e utilizavel: `Pendente`

## CRUD e cadastros

- Clientes admin com listagem e onboarding detalhado: `Concluido`
- Entregadores admin com listagem e onboarding detalhado: `Concluido`
- Restaurantes admin com listagem e onboarding detalhado: `Concluido`
- Loja/painel parceiro com perfil operacional: `Concluido`
- CRUD local interno create/edit/delete por API para customers, drivers, restaurants, pricing-rules, delivery-settings, subscriptions, ads-campaigns, reports: `Concluido`
- Persistencia desses CRUDs diretamente pelos formularios de negocio finais: `Parcial`

## Monetizacao

- Comissao dinamica por restaurante: `Parcial`
- Taxa de servico configuravel: `Parcial`
- Margem sobre entrega: `Parcial`
- Surge pricing: `Parcial`
- Boost de horario de pico: `Parcial`
- Boost climatico: `Parcial`
- Assinatura premium: `Parcial`
- Planos pagos para restaurantes: `Parcial`
- Carteira interna: `Parcial`
- Cashback interno: `Parcial`
- Taxa de saque: `Parcial`
- Anuncios patrocinados: `Parcial`
- Restaurantes patrocinados: `Parcial`
- Ranking patrocinado: `Parcial`
- Campanhas promocionais: `Parcial`
- Split de pagamento: `Parcial`
- Controle de margem da entrega: `Parcial`
- Analytics financeiros: `Parcial`
- LTV, CAC, retencao e recompra nas telas: `Concluido`
- Calculo financeiro 100% persistido em fluxo real de pedido: `Pendente`

## Tracking em tempo real

- Tabela `driver_locations`: `Concluido`
- Tabela `delivery_routes`: `Concluido`
- Endpoints de tracking base: `Concluido`
- WebSocket com eventos de rota/localizacao: `Parcial`
- Recalculo de ETA e rota no backend: `Concluido`
- Controle de acesso por role no tracking: `Concluido`
- Tracking no admin live map: `Parcial`
- Tracking no painel restaurante: `Parcial`
- Tracking do cliente estilo Uber com mapa real: `Parcial`
- Tracking do entregador com fluxo completo: `Parcial`
- Google Maps funcionando com chave real: `Pendente`
- Atualizacao GPS a cada 3-5 segundos em app real: `Pendente`

## Telas e experiencia

- Painel admin com customers, drivers, restaurants, finance, reports, subscriptions: `Concluido`
- Painel restaurante com settings, ads, delivery tracking e cardapio: `Concluido`
- Mobile cliente com home, pedidos, rastreio, perfil, signup e enderecos: `Parcial`
- Mobile entregador com home, entrega ativa, ganhos, signup e documentos: `Parcial`
- Todas as telas finais listadas no escopo inicial: `Pendente`

## Seguranca e arquitetura

- JWT, RBAC, guards, filters, interceptors, throttling base: `Concluido`
- Auditoria financeira e de operacao na UX: `Parcial`
- Transacoes atomicas em partes do financeiro: `Parcial`
- Protecao completa contra manipulacao de saldo e webhooks reais: `Pendente`

## O que ja da para testar hoje

- Painel admin: `http://127.0.0.1:3002`
- Painel restaurante: `http://127.0.0.1:3003`
- API local de base interna:
  - `GET/POST /api/dev-db/:entity`
  - `GET/PUT/DELETE /api/dev-db/:entity/:id`
- CRUD local de:
  - clientes
  - entregadores
  - restaurantes
  - regras financeiras
  - configuracao de entrega
  - assinaturas
  - campanhas patrocinadas
  - relatorios

## O que falta priorizar agora

1. Ligar as telas finais ao CRUD local com formularios de negocio mais completos.
2. Criar um backend local de desenvolvimento para os mesmos recursos em vez de manter so a persistencia em JSON.
3. Fechar o fluxo real de tracking com Socket.IO e simulacao de movimento.
4. Persistir finance, wallet, cashback, ads e subscriptions em PostgreSQL real.
5. Conectar Google Maps real e telas mobile com mapa nativo.
