saveinmed/docs/ROADMAP.md
2026-01-08 14:28:34 -03:00

104 lines
3.2 KiB
Markdown

# Roadmap de Tasks (Marketplace B2B)
## Status (pronto x faltando)
**Pronto**
- Nenhum item confirmado como concluído neste roadmap.
**Faltando**
- Itens listados nas seções abaixo.
---
Este roadmap foca no requisito:
- comprador só descobre vendedor no final;
- taxa invisível de 12%;
- comissão de 6% para vendedor (a confirmar);
- governança e auditoria no backoffice;
- cobertura de testes (com/sem banco e Playwright).
> Cada item possui **caixa de execução** para acompanhamento.
---
## 0) Alinhamento de regras de negócio (obrigatório)
- [ ] **Definir modelo de taxas**:
- [ ] confirmar se “12% + 6%” são taxas distintas ou partes de uma taxa total.
- [ ] validar impacto em precificação e faturamento.
- [ ] **Definir momento final de revelação** do vendedor:
- [ ] após pagamento aprovado?
- [ ] após confirmação de pedido?
- [ ] após envio?
- [ ] **Definir política legal/UX** para taxa invisível e transparência ao vendedor.
---
## 1) Backend (Go API)
- [ ] **Modelagem de taxas**
- [ ] adicionar `SELLER_FEE_RATE` (se aplicável) no `config`.
- [ ] registrar `base_price`, `buyer_fee_rate/amount`, `seller_fee_rate/amount`, `payout_amount` no pedido.
- [ ] **Mascaramento do vendedor** em respostas públicas
- [ ] revisar endpoints de catálogo/pesquisa para remover identidade do vendedor.
- [ ] garantir que IDs não permitam inferência.
- [ ] **Revelação pós-compra**
- [ ] criar endpoint para dados completos do vendedor **após evento final**.
- [ ] **Swagger/Docs**
- [ ] atualizar schemas para respostas pré e pós-compra.
- [ ] **Testes automatizados**
- [ ] cobrir mascaramento do vendedor.
- [ ] cobrir cálculos de taxas.
---
## 2) Marketplace (React)
- [ ] **Listagem/Detalhe**
- [ ] remover qualquer referência a vendedor.
- [ ] substituir por dados neutros.
- [ ] **Carrinho/Checkout**
- [ ] mostrar apenas preço final sem taxa visível.
- [ ] impedir revelação do vendedor antes do evento final.
- [ ] **Pós-compra**
- [ ] exibir dados completos do vendedor.
- [ ] **Testes de UI**
- [ ] testes para garantir ocultação e revelação correta.
---
## 3) SaveInMed Frontend (Next.js)
- [ ] **Revisar fluxos de comprador**
- [ ] ocultar vendedor antes do final.
- [ ] mostrar somente preço final.
- [ ] **Área de pedidos**
- [ ] revelar vendedor após evento final.
- [ ] **Testes**
- [ ] adicionar Playwright para fluxo de compra e revelação.
---
## 4) Backoffice (NestJS)
- [ ] **Admin de taxas**
- [ ] tela/configuração de `buyer_fee_rate` e `seller_fee_rate`.
- [ ] **Auditoria financeira**
- [ ] painel com preço base, taxas e payout.
- [ ] **Logs e compliance**
- [ ] rastrear alterações de taxas.
---
## 5) Testes e qualidade
- [ ] **Matriz de testes** (ver `docs/TESTES.md`)
- [ ] definir CI mínima por serviço.
- [ ] separar testes com e sem banco.
- [ ] **Playwright**
- [ ] configurar projeto e primeiros cenários E2E.
---
## 6) Documentação e comunicação
- [ ] **Atualizar documentação técnica**
- [ ] links cruzados entre README principal e docs.
- [ ] instruções claras de testes.
- [ ] **Checklist de release**
- [ ] validação das taxas.
- [ ] validação de mascaramento do vendedor.