SuperdindaDocs

Arquitetura

Processos, fluxo de dados e onde o design system vive. Resumo do blueprint do redesign.

Resumo de .specs/features/redesign/blueprint.md (vivo, dono: João). Na dúvida, o blueprint manda.

Processos

  • api (backend/apps/api): HTTP + SSE. Cada rota é uma classe Route num arquivo; o bloco responses vira o OpenAPI desta referência.
  • gateway (backend/apps/gateway): recebe webhooks dos provedores (WAHA), verifica e grava num stream do Redis.
  • workers (backend/apps/workers): consome o stream: máquina de estados do pareamento, QR, reconexão, análise.
  • platform, backoffice e site: apps Next separados, cada um com seu deploy.

Fluxo principal

  1. O responsável assina, cria os assentos e convida a pessoa protegida.
  2. A pessoa aceita pelo link de consentimento, com selfie e áudio verificados.
  3. O WhatsApp dela é pareado pela tela do responsável (QR ou código).
  4. Mensagens chegam pelo gateway, viram janelas de análise e, quando há risco, um achado. O alvo é o achado virar alerta com o trecho mínimo.

Domínio

Cada contexto é uma pasta em backend/src/domains/* (auth, accounts, seats, consents, channels, analysis, notifications…). Rotas importam os domínios só pelo index.ts. Respostas usam um envelope único ({ success, data } ou { success, error }).

Design system

  • Fonte única no pacote packages/ui (@superdinda/ui), uma pasta por família em packages/ui/src/<família>/. Platform, backoffice e este docs importam o pacote (@superdinda/ui/<família>) pelos workspaces do bun.
  • Tokens vêm do Figma (design-system/tokens/figma.json) e são gerados em tokens.css por ds.ts tokens. Ninguém edita tokens.css à mão.
  • Cada família registra sua matriz de variantes em examples.ts. A rota /__ds do platform e as páginas de componente deste docs leem o mesmo registro.

Detalhes em Design system.

On this page