Ferramenta interna de Go-To-Market da Fin. O canal é a unidade central: execução, investimento, KPI e prazo no mesmo lugar.
Fonte da verdade:
CLAUDE.md(spec + modelo de dados) edocs/DASHBOARD.md(dashboard + tempo real). Em conflito, eles vencem.
Vite + React + TypeScript · Tailwind + shadcn/ui · React Router · TanStack Query · Recharts · Supabase (Postgres + Auth + RLS + Storage + Realtime + Edge Functions + pg_cron).
npm install
cp .env.example .env # preencha VITE_SUPABASE_URL e VITE_SUPABASE_ANON_KEY
npm run dev # http://localhost:5173
npm run build # checa tipos (tsc -b) + gera dist/
npm run preview # serve o build em http://localhost:4173
npm test # VitestNunca commite .env. Só a anon key vai ao front; a service_role NUNCA.
Todo o backend é reproduzível só com os arquivos deste repo. Para subir uma cópia do zero:
- Crie um projeto no Supabase (free serve) e copie a URL e a
anon key para o seu
.env. - Rode as migrations em ordem (no SQL editor do Supabase ou via CLI), de
supabase/migrations/0001_schema.sqlaté0013_projetos.sql:0001enums + tabelas + triggers ·0002RLS ·0003views (CAC/ROI/% execução) ·0004storage (bucketvoz) ·0005realtime ·0006snapshots + pg_cron ·0007canais.tipo·0008economia (custos/metas) ·0009crescimento ·0010pipeline_eventos (tracking) ·0011importar_base (RPC) ·0012tracking preciso ·0013projetos.
- Rode o
supabase/seed.sql— recria os 5 canais, gates, tarefas, modelos, a base real (212 contas/oportunidades) e os projetos da linha do tempo. - Auth: crie o primeiro usuário (e-mail/senha) no painel → Authentication. O app inteiro
fica atrás do login. (Sem SMTP configurado, deixe
Confirm emailoff para o usuário entrar na hora.) Desligue o cadastro público (Authentication → Sign In/Providers → "Allow new users to sign up" off): novos perfis vêm só pelo menu Conta e perfis dentro do app. - (Opcional) Edge Function
criar-perfil(criação de novos perfis) emsupabase/functions/criar-perfil.
Depois disso, o front aponta para o seu projeto via .env — nada fica preso à nuvem original.
src/
components/ ui/ (shadcn) · layout/ (Topbar, AppShell) · shared/ (PageHeader, EmptyState) · auth/
features/ dashboard · pipeline · crm · canais · roadmap · tarefas · mensagens · voz ·
crescimento · economia · auth (cada um: hooks TanStack Query + componentes)
lib/ supabase.ts · nav.ts · queryClient.ts · format.ts · datas.ts · baseline.ts · utils.ts
pages/ Dashboard · Pipeline · CRM · Canais · Roadmap · Tarefas · Mensagens · Voz ·
Crescimento · Relatório · Login
supabase/
migrations/ 0001…0013 (schema · rls · views · storage · realtime · snapshots · …)
functions/ whatsapp (PLACEHOLDER, não envia) · criar-perfil (cria usuário, server-side)
seed.sql 5 canais + base real (212) + projetos — sem dados fictícios
feat: · fix: · chore: · docs: — commits pequenos e descritivos.