Plataforma omnichannel de atendimento ao cliente com WhatsApp, IA integrada, CRM e automações.
Deploy: pronto-talk-suite.lovable.app
- Visão Geral
- Stack Tecnológico
- Setup Local
- Arquitetura
- Estrutura do Projeto
- Funcionalidades Principais
- Edge Functions
- Integrações
- Segurança
- Testes
- Deploy
- Documentação Adicional
- Contribuição
ZAPP-WEB (Pronto Talk Suite) é uma plataforma completa de atendimento ao cliente que centraliza comunicações via WhatsApp, oferece sugestões de IA, CRM integrado, gamificação de agentes, dashboards analíticos e automações de fluxo.
- Equipes de atendimento ao cliente
- Gestores de suporte e vendas
- Empresas que usam WhatsApp Business como canal principal
| Camada | Tecnologia |
|---|---|
| Frontend | React 18, TypeScript 5, Vite 5 |
| Estilização | TailwindCSS 3, shadcn/ui, Framer Motion |
| Estado | TanStack React Query, Context API |
| Backend | Supabase (Auth, Database, Storage, Edge Functions, Realtime) |
| IA | Gemini, GPT via Edge Functions |
| Evolution API v2.3.7+ | |
| CRM | Bitrix24 API |
| Áudio | ElevenLabs (TTS, STT, SFX) |
| Mapas | Mapbox GL |
| Resend | |
| VoIP | SIP.js |
# 1. Clone o repositório
git clone git@github.com:adm01-debug/zapp-web.git
cd zapp-web
# 2. Use a versão correta do Node.js
nvm use
# 3. Instale dependências
bun install # ou npm install
# 4. Configure variáveis de ambiente
cp .env.example .env.local
# 5. Inicie o servidor de desenvolvimento
bun run devVITE_SUPABASE_URL- URL do projeto SupabaseVITE_SUPABASE_ANON_KEY- Chave pública do Supabase
┌─────────────────────────────────────────┐
│ React SPA (Vite) │
│ ┌───────┐ ┌────────┐ ┌──────────────┐ │
│ │ Pages │ │ Hooks │ │ Components │ │
│ └───┬───┘ └───┬────┘ └──────┬───────┘ │
│ └─────────┼─────────────┘ │
│ ┌───┴───┐ │
│ │ Query │ (TanStack) │
│ └───┬───┘ │
└────────────────┼────────────────────────┘
│ HTTPS
┌────────────────┼────────────────────────┐
│ Supabase │
│ ┌──────┐ ┌────┐ ┌─────────┐ ┌──────┐ │
│ │ Auth │ │ DB │ │ Storage │ │ Real │ │
│ └──────┘ └────┘ └─────────┘ │ time │ │
│ ┌────────────────────────┐ └──────┘ │
│ │ Edge Functions (20) │ │
│ └───────────┬────────────┘ │
└──────────────┼─────────────────────────┘
│
┌──────────┼──────────┐
│ │ │
┌───┴───┐ ┌───┴───┐ ┌────┴────┐
│Evolut.│ │Bitrix │ │Eleven │
│ API │ │ 24 │ │ Labs │
└───────┘ └───────┘ └─────────┘
Veja docs/decisions/ para decisões documentadas:
- ADR-001: React Query como gerenciador de estado do servidor
- ADR-002: RLS como camada primária de autorização
- ADR-003: Lazy loading de todas as rotas
- ADR-004: Evolution API webhook bridge
src/
├── components/ # Componentes organizados por feature (55+ módulos)
│ ├── auth/ # Autenticação (login, registro, MFA)
│ ├── inbox/ # Caixa de entrada e chat
│ ├── contacts/ # Gestão de contatos
│ ├── dashboard/ # Dashboards e métricas
│ ├── ai/ # Componentes de IA
│ ├── campaigns/ # Campanhas em massa
│ ├── automations/ # Automações e chatbot
│ ├── security/ # Audit logs, rate limiting
│ ├── gamification/ # Gamificação de agentes
│ └── ui/ # shadcn/ui + componentes base
├── hooks/ # 80+ hooks customizados
├── pages/ # Páginas/rotas da aplicação
├── lib/ # Utilitários (logger, helpers)
├── integrations/ # Cliente Supabase (auto-gerado)
├── types/ # Tipos compartilhados
└── i18n/ # Internacionalização
supabase/
├── functions/ # 20 Edge Functions
│ ├── _shared/ # Utilitários compartilhados (validação, CORS, logger)
│ ├── ai-*/ # Funções de IA (suggest-reply, summary, analysis, etc.)
│ ├── evolution-*/ # Integração WhatsApp
│ ├── elevenlabs-*/ # Integração de áudio
│ └── ...
├── migrations/ # 55 Migrations SQL versionadas
└── config.toml # Configuração do projeto
docs/
├── decisions/ # ADRs (Architecture Decision Records)
├── architecture/ # Documentação de arquitetura
├── runbooks/ # Guias operacionais
├── TECHNICAL_DOCUMENTATION.md
├── EVOLUTION_API_REFERENCE.md
└── ...
- Chat em tempo real via WhatsApp (Evolution API)
- Transferência entre agentes e filas
- Notas internas (whisper messages)
- Presença de digitação em tempo real
- Suporte a mídia (imagens, áudio, documentos, stickers)
- Sugestão automática de respostas
- Resumo de conversas
- Análise de sentimento
- Auto-tagging de conversas
- Melhoria de tom de mensagens
- Classificação de tickets
- Dashboard em tempo real
- SLA tracking e alertas
- CSAT (pesquisa de satisfação)
- War room para incidentes
- Relatórios por agente/fila
- Gestão de contatos com campos customizáveis
- Pipeline de vendas (Kanban)
- Tags e segmentação
- Integração Bitrix24
- Carteira de clientes
- XP e níveis para agentes
- Achievements e conquistas
- Leaderboard
- Mini-games de treinamento
- Disparo em massa via WhatsApp
- Segmentação de contatos
- Tracking de entrega/leitura
- MFA (TOTP + WebAuthn/FIDO2)
- Rate limiting com backoff exponencial
- Geo-blocking (whitelist/blacklist)
- Audit logs completos
- 181+ políticas RLS
| Função | Descrição |
|---|---|
ai-suggest-reply |
Sugestão de resposta via IA |
ai-conversation-summary |
Resumo automático de conversas |
ai-conversation-analysis |
Análise de sentimento e tópicos |
ai-enhance-message |
Melhoria de tom de mensagens |
ai-auto-tag |
Auto-tagging inteligente |
evolution-api |
Proxy seguro para Evolution API |
evolution-webhook |
Webhook de eventos WhatsApp |
external-db-bridge |
Proxy seguro para DBs externos |
chatbot-l1 |
Chatbot nível 1 automatizado |
elevenlabs-tts |
Text-to-speech |
send-email |
Envio de emails via Resend |
webauthn |
Autenticação FIDO2/WebAuthn |
- Conexão via QR Code
- Envio/recebimento de mensagens (texto, mídia, localização)
- Status de entrega (sent, delivered, read)
- Webhook para eventos em tempo real
- Health check automatizado
- Sincronização de contatos
- Pipeline de vendas
- OAuth2 token refresh automático
- Text-to-speech multilíngue
- Speech-to-text (Scribe)
- Voice design customizado
- Sound effects
- Email/senha com verificação HIBP no frontend
- MFA via TOTP e WebAuthn/FIDO2
- Brute force protection (lockout exponencial após 5 tentativas)
- Re-autenticação para ações sensíveis
- Detecção de novos dispositivos
- Roles:
admin,supervisor,agent - Tabela separada
user_rolescom funçãohas_role()SECURITY DEFINER - 181+ políticas RLS no banco de dados
- Trigger anti-escalação de privilégios
- Permissões granulares (role_permissions)
- CORS restrito por origem (não wildcard)
- Rate limiting em Edge Functions
- IP blocking e geo-blocking
- Audit logs de ações sensíveis
- Credenciais protegidas por RLS (admin only)
- Tabelas sensíveis removidas do Realtime
# Executar testes
bun test
# Com cobertura
bun test --coverage
# Em watch mode
bun test --watch
# Testes específicos
bun test src/hooks/Framework: Vitest + Testing Library
Arquivos: ~72 arquivos de teste
Mock: Mock centralizado do Supabase em src/test/mocks/supabase.ts
O deploy é gerenciado automaticamente pelo Lovable:
- Edições no código disparam rebuild automático
- Edge Functions são deployadas automaticamente
- Migrations são aplicadas via ferramenta de migração
- Produção: https://pronto-talk-suite.lovable.app
| Documento | Descrição |
|---|---|
docs/TECHNICAL_DOCUMENTATION.md |
Documentação técnica (90KB) |
docs/COMPLETE_SYSTEM_FEATURES.md |
Funcionalidades do sistema (45KB) |
docs/EVOLUTION_API_REFERENCE.md |
Referência de 60+ endpoints |
docs/BACKUP-RECOVERY-STRATEGY.md |
Estratégia de backup |
docs/INCIDENT-RUNBOOK.md |
Runbook de incidentes |
docs/decisions/ |
Decisões arquiteturais (ADRs) |
Veja CONTRIBUTING.md para guia de contribuição.
Para reportar vulnerabilidades, consulte SECURITY.md.
Este projeto está licenciado sob a MIT License.
Construído com ❤️ pela equipe Promo Brindes