# 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.
