new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
Painel de trakeamento de leads da Meta, conversões via CAPI, atendimento por WhatsApp e rastreio de páginas de vendas.
Translation pending
MarketingTypeScript · JavaScriptGitHub @IcaruuS22OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Trakeamento Meta Ads + Kommo + WhatsApp Plataforma que conecta formulários instantâneos da Meta (Facebook/Instagram Lead Ads) e conversas do WhatsApp (Cloud API oficial ou Evolution API, por QR Code) a um CRM Kommo, registra tudo em MySQL, devolve eventos de conversão para a Meta Conversions API, e expõe um painel com métricas, campanhas, kanban e atendimento. Este repositório está em migração: o sistema nasceu inteiramente em n8n e está sendo transformado em um aplicativo Next.js hospedado na Vercel, mantendo no n8n apenas os fluxos que dependem de execução longa ou agendada.Read the full README ↗
Plataforma que conecta formulários instantâneos da Meta (Facebook/Instagram Lead Ads) e conversas do WhatsApp (Cloud API oficial ou Evolution API, por QR Code) a um CRM Kommo, registra tudo em MySQL, devolve eventos de conversão para a Meta Conversions API, e expõe um painel com métricas, campanhas, kanban e atendimento.
Este repositório está em migração: o sistema nasceu inteiramente em n8n e está sendo transformado em um aplicativo Next.js hospedado na Vercel, mantendo no n8n apenas os fluxos que dependem de execução longa ou agendada.
| Documento | Para quê |
|---|---|
ARQUITETURA_APP.md | Arquitetura alvo: o que vira app, o que fica no n8n, stack, autenticação, multi-tenant, riscos. Comece por aqui. |
PLANO_IMPLEMENTACAO.md | As 7 fases de execução, com critério de conclusão de cada uma e a lista de ações manuais. |
DOCUMENTACAO_APLICACAO.md | Como o sistema atual funciona hoje, workflow por workflow e aba por aba. É a referência ao portar cada endpoint. |
| Script | Onde rodar |
|---|---|
Banco de Dados/00_Banco_Central_Do_Zero (instalacao limpa).sql | Instalação do zero. Cria trakeamento_controle já com tudo que as migrações acrescentaram depois (meta_test_event_code, last_sync_started_at, whatsapp_accounts com provider e colunas evolution_*, painel_metric_prefs). Em banco novo, substitui o 01 e as migrações do central. Não rode em banco existente. |
Banco de Dados/01_Banco_Central_Controle (Rode no SQL).sql | Versão original do central. Só para bancos que já foram criados com ele — em ambiente novo use o 00 acima |
Banco de Dados/02_Template_Banco_Por_Cliente.sql | Template aplicado a cada banco cliente_* novo. O app lê este arquivo em /admin/clientes/novo: editar aqui muda o esquema de todo cliente criado dali em diante |
Banco de Dados/03_App_Auth_Usuarios.sql | Uma vez, no trakeamento_controle — usuários, papéis, convites, auditoria |
WhatsApp/migracao_*.sql, Meta Insights/migracao_*.sql | Em cada banco cliente_* já existente |
WhatsApp/migracao_whatsapp_evolution.sql | Uma vez, no trakeamento_controle — habilita a conexão por Evolution API (coluna provider + colunas evolution_*). Já rodado em produção. |
WhatsApp/migracao_whatsapp_midia.sql | Em cada banco cliente_* — guarda imagem, áudio, vídeo e documento das conversas (whatsapp_media + colunas media_*). Sem ela a conversa continua aparecendo, só que o anexo fica como rótulo. Rodada nos dois clientes de produção em 28/08/2026. |
PLANO_IMPLEMENTACAO.md)As caixas acima são marcadas quando o critério de conclusão da fase (descrito no plano) é demonstrado — não quando o código é escrito.
01 - Recebe leads - Meta (CORRIGIDO) — ponto de entrada dos leads. Não alterar.Meta Insights - Sincronização Sob DemandaMeta Insights - Importação Histórica (manual)WhatsApp IA - Classificação AutomáticaCada build_*.js gera o .json correspondente. Ao alterar um deles, rode node build_xxx.js e reimporte o .json no n8n — editar o .json direto é perdido na próxima geração.
npm install
cp .env.example .env.local
npm run dev
Variáveis de ambiente: ver .env.example.
MYSQL_HOST, MYSQL_USER e MYSQL_PASSWORD no .env.local (o AUTH_SECRET já vem gerado).Banco de Dados/03_App_Auth_Usuarios.sql no MySQL — cria as tabelas de usuários, convites e auditoria.npm run db:check — confirma conexão, lista o que falta e mostra os clientes do catálogo.SEED_ADMIN_EMAIL e SEED_ADMIN_PASSWORD e rode npm run seed:admin. Depois apague os dois valores do .env.local.npm run dev e entre em http://localhost:3000/login.Sem SMTP_* configurado, convites e links de redefinição não são enviados — o link aparece
no log do servidor e, no caso do convite, na própria tela /admin/usuarios.
O painel roda na Vercel; o MySQL e a Evolution API ficam na VPS. Essa
divisão tem uma consequência que não aparece em desenvolvimento: a
Evolution só entrega as mensagens em um endereço que ela alcance pela
internet. Enquanto o webhook da instância apontar para localhost, o
WhatsApp conecta, o QR funciona, o número aparece como conectado — e
nenhuma mensagem chega ao painel, porque localhost, visto da VPS, é a
própria VPS.
Na ordem:
MYSQL_SSL=true) e usuário próprio do app. Confira antes de
publicar — sem isso todas as telas sobem com erro de conexão..env.example em Production e Preview.
Duas mudam de valor em relação ao .env.local:
AUTH_URL — o endereço público do painel;EVOLUTION_WEBHOOK_BASE_URL — o mesmo endereço público. Sem esta
variável o app usa o AUTH_URL, o que costuma estar certo; defina-a
explicitamente quando a Evolution alcançar o painel por outro nome.
Não copie SEED_ADMIN_* para lá: é uso único, local.WhatsApp/migracao_whatsapp_midia.sql em cada banco
cliente_*, para que imagem, áudio, vídeo e documento sejam guardados
e exibidos. Já rodada nos dois clientes que existem hoje; vale para
qualquer banco de cliente criado antes de 28/08/2026.npm test
Testes de unidade (tests/*.test.ts): lógica pura, sem banco e sem rede. Rodam em qualquer máquina.
npm run test:integracao
Testes de integração (tests/integracao/*.test.ts): autorização entre clientes e carga do pool.
Precisam do servidor no ar e do MySQL alcançável, e criam um usuário de teste em
trakeamento_controle.app_users (removido no fim, inclusive quando um caso falha). Sem servidor
ou sem banco, os casos são pulados em vez de falharem. Aponte para outro alvo com
TESTE_BASE_URL=http://localhost:3001 npm run test:integracao — útil para exercitar o build de
produção (npm run build && npm start), onde a verificação de vazamento no payload RSC roda de
verdade.