Ir para o conteúdo

Cliwefy — Histórico / Diário do Projeto

Diário granular (sem segredos). Complementa o CLAUDE.md da raiz. Para credenciais, peça ao Rodolfo (password manager).

Marcos

  • A→D (ciclo do dinheiro, billing, operação, onboarding) — base funcional.
  • Premiação, Geomarketing, Portal do Paciente, Fidelidade, Indicação (roleta), NFSe (BYO), Recepção/Check-in, Caixa diário, Bloqueio por inadimplência.
  • Fluxo do Dentista redesenhado: fila inteligente (compartilhado vs privado, claim atômico), 3 experiências (avaliação/clínico/orto), taxa de avaliação (herança/trava), origem em Vendas, legenda de cor por tipo, baixa de material do estoque na execução (ficha técnica).
  • Ocorrências (escalonamento clínica→franqueadora): inbox + BI; cancelamento de orto com multa/alçada (gerente/dono/franqueadora) + assinatura do paciente (Marco Civil); reabertura de procedimento com motor de reversão (estorna premiação, repasse, fidelidade, indicação); notificações (WhatsApp + alerta) + SLA com cron.
  • Estoque (itens/categorias/fornecedores/movimentações + ficha técnica).
  • Relatórios (~23 em 5 categorias clínicas + rede): Operação, Comercial, Financeiro, Pacientes, Diferenciais (termômetro, alertas, cohort, metas) + rede (ranking, royalties, radar de falcatrua).
  • Contratos, Pacotes/Termos (franqueadora), Central de Atualizações + Mapa do Sistema (/dev).

Auditoria de prontidão (57 achados) — remediada em 3 ondas

  • Onda 1 (críticos): segurança em /api/admin/usuarios; bug do desconto (cobrava errado); agenda (marcar + check-in + rota [id]); portal (chaves, CPF, match de telefone seguro); ocorrências (card fantasma + evidência de assinatura + motor de cancelamento); correção do vocabulário do seed (status EN PENDING/OVERDUE/RECEIVED, etc.).
  • Onda 2 (mocks→real): Contratos; Pacotes/Termos; dashboards de cargo (números reais, 6 mocks deletados); botões da recepção; ModalAvaliação na clínica certa.
  • Onda 3 (decisões): DRE de Caixa; cadência de follow-up D+1/3/7/15/30; regra de lead (avaliação não convertida); trava de valor na baixa; estorno total automático na reabertura; papel Franqueado (dono ≠ gerente); notificações + SLA.

Convenções (resumo — detalhe no CLAUDE.md)

  • RPC SECURITY DEFINER + guards; clinicId/orgId sempre do servidor.
  • Migrations aplicadas via Management API e registradas em schema_migrations (a pasta supabase/migrations/ tem só 001/002; o resto vive no banco — introspectar com pg_get_functiondef).
  • Status canônico: patient_charges EN (PENDING/OVERDUE/RECEIVED); queue_entries aguardando/ em_atendimento; budgets aguardando/em_negociacao/fechado/perdido + origem avaliacao/ procedimento_adicional/manual.
  • A cada deploy, registrar entrada via changelog_add (ver /dev/atualizacoes).

Dados de demonstração

  • Clínica "Coife Odonto Taipas" populada (50 pacientes, agenda, funil, cobranças, ocorrências, metas, estoque, fichas técnicas). 2ª clínica "Coife Odonto Pirituba" p/ comparativo.
  • Logins demo @coife.demo (senha no password manager). Limpeza = deletar por clinic_id.

Pendências EXTERNAS (precisam parceiro/config, não é código)

  1. Asaas por clínica (split/BYO) — dinheiro real do paciente por unidade.
  2. Consultar Financeira (parceiro: Odontocred/Sorrident/BV).
  3. NFSe real (chave sandbox Nuvem Fiscal + certificado).
  4. Instância WhatsApp por clínica (notificações saírem de fato).
  5. Webhook do Asaas (registrar URL + token).
  6. CCB/antecipação (parceiro de crédito).

Limpeza pendente (cosmético)

  • Usuários demo Mariana/Camila ficaram com perfil sem conta de login (órfãos).
  • Itens de baixa severidade da auditoria (rótulos/UX).