obsidian-vault/Pizza-Digital/docs/PRD/PRD-SPEC-SIM-OPS-DEMO.md

54 lines
1.8 KiB
Markdown

# PRD — Simulação de Operação (Demo)
| Campo | Valor |
|-------|--------|
| **Produto** | Pizza Digital |
| **Versão app auditada** | v0.5.0 |
| **Ambiente** | https://pizza.itecnologys.com · VM125 · loja `pizza-digital-piloto` |
| **Spec de origem** | `docs/SPEC-SIM-OPS-DEMO.md` |
| **Módulo** | Motor /sim |
| **Rotas UI** | `/sim` |
| **APIs** | `/api/sim/*` |
| **Data** | 2026-11-09 |
| **Estilo** | PRD operacional detalhado (visão de desenvolvedor) |
| **Audiência** | Dev / QA / Product |
> Como ler: cada seção descreve o **processo real** (o que o sistema faz hoje),
> com passos de usuário, chamadas de API, regras de negócio e estados.
> Status: ✅ construído · ⚠️ parcial · ⏳ especificado / não entregue · 🐛 gap observado.
## 1. Objetivo
Demonstrar ciclo completo Joinville sem operação real: canais → KDS → estufa → rotas → ETA.
## 2. Processo — operar o simulador
1. Login (gestor/ops)
2. Abrir `/sim`
3. `GET /api/sim/status`
4. `POST /api/sim/start` — inicia geração
5. Opcional `POST /api/sim/simulate-turno`
6. Observar `/pedidos`, `/kds/producao`, `/despacho`
7. `POST /api/sim/stop`
8. Limpar: `POST /api/sim/purge`
## 3. Parâmetros típicos (Spec)
Até ~2000 ops/dia · 15 motoboys SIM · cap prep · Joinville.
## 4. Aceite
- ✅ Controller/UI sim
- ⚠️ Calibrar carga para demo comercial sem derrubar VM
## 5. Motor SimService (~1090 linhas)
| Método | Papel no loop |
|--------|----------------|
| `start` / `stop` / `statusRich` | Controle |
| `tick` | Heartbeat do simulador |
| `ingress` | Gera pedidos (canais) |
| `advanceKitchen` | Empurra KDS |
| `dispatchReady` | Cria rotas |
| `completeDeliveries` | Fecha entregas |
| `ensureFleet` / `ensurePizzaiolos` | Seeds SIM |
| `simulateTurno` | Atalho turno |
| `purge` | Limpa dados teste |