How guiacc12/tcc-grupo-2 works
LeadFlow é um SaaS multiempresa para capturar leads em formulários nativos, encaminhá-los aos CRMs configurados e acionar automações de WhatsApp. O fluxo principal vai da implementação do formulário à captura pública e ao processamento assíncrono; os painéis também cobrem administração de empresas, leads, domínios e integrações. As relações entre interface e rotas seguem os endpoints visíveis; detalhes internos de rotas não amostradas são representados apenas quando a documentação descreve a capacidade, sem presumir chamadas específicas.
Main entry points: app.js Aplicação Express · api.js Cliente API · schema.sql MySQL saas_leads · fila.js Fila e worker
Components 30
Painéis e captura
- Rotas do painel
frontend/src/App.jsx - Login
frontend/src/paginas/Login.jsx - Empresas admin
frontend/src/paginas/admin/Empresas.jsx - Formulários
frontend/src/paginas/empresa/Formularios.jsx - Implementação
frontend/src/paginas/empresa/Implementar.jsx - Gerador de embeds
frontend/src/lib/embeds.js - Leads e visão geral
frontend/src/paginas/empresa/Leads.jsx - Configuração CRM
frontend/src/paginas/empresa/Crm.jsx - Configuração WhatsApp
frontend/src/paginas/empresa/Whatsapp.jsx - Domínios
frontend/src/paginas/empresa/Dominios.jsx - Cliente API
frontend/src/lib/api.js
API e configuração
- Aplicação Express
backend/src/app.js - Autenticação
backend/src/rotas/auth.js - Administração
backend/src/rotas/admin.js - Captura pública
backend/src/rotas/captura.js - Gestão de formulários
backend/src/rotas/formularios.js - Gestão de leads
backend/src/rotas/leads.js - Rotas CRM
backend/src/rotas/crm.js - Rotas de domínios
backend/src/rotas/dominios.js - Rotas WhatsApp
backend/src/rotas/whatsapp.js
Processamento de leads
- MySQL saas_leads
db/schema.sql - Fila e worker
backend/src/servicos/fila.js
Integrações externas
- Seleção de adapter
backend/src/servicos/crm/index.js - Adapters CRM
backend/src/servicos/crm - Serviço Evolution
backend/src/servicos/evolution.js
Other components
- Usuário empresa
- Super admin
- Visitante
- CRM externo
- Evolution API
Connections 37
- Usuário empresa → Login: acessa
- Super admin → Login: acessa
- Login → Cliente API: envia login
- Cliente API → Aplicação Express: chama API
- Aplicação Express → Autenticação: monta rotas
- Aplicação Express → Administração: monta rotas
- Aplicação Express → Captura pública: monta rotas
- Aplicação Express → Gestão de formulários: monta rotas
- Aplicação Express → Gestão de leads: monta rotas
- Aplicação Express → Rotas CRM: monta rotas
- Aplicação Express → Rotas de domínios: monta rotas
- Aplicação Express → Rotas WhatsApp: monta rotas
- Empresas admin → Cliente API: gerencia empresas
- Formulários → Cliente API: edita formulários
- Implementação → Gerador de embeds: gera código
- Formulários → Cliente API: carrega e salva
- Leads e visão geral → Cliente API: consulta leads
- Configuração CRM → Cliente API: configura CRM
- Configuração WhatsApp → Cliente API: configura automações
- Domínios → Cliente API: configura domínios
- Cliente API → Aplicação Express: chama endpoints
- Visitante → Gerador de embeds: usa formulário
- Gerador de embeds → Captura pública: envia captura
- Autenticação → MySQL saas_leads: consulta credenciais
- Administração → MySQL saas_leads: mantém empresas
- Captura pública → MySQL saas_leads: grava lead
- Gestão de formulários → MySQL saas_leads: mantém formulários
- Gestão de leads → MySQL saas_leads: consulta leads
- Rotas CRM → MySQL saas_leads: mantém configuração
- Rotas de domínios → MySQL saas_leads: mantém domínios
- Rotas WhatsApp → MySQL saas_leads: mantém automações
- Fila e worker → MySQL saas_leads: reivindica jobs
- Fila e worker → Seleção de adapter: seleciona adapter
- Seleção de adapter → Adapters CRM: despacha CRM
- Fila e worker → Serviço Evolution: envia mensagens
- Adapters CRM → CRM externo: cria ou atualiza lead
- Serviço Evolution → Evolution API: valida e envia