CRM Completo Multi-Tenant com Inteligência Artificial
Funcionalidades • Stack • Instalação • Configuração • Deploy • Docs
O NexIA Chat é um CRM (Customer Relationship Management) brasileiro multi-tenant, projetado para empresas que precisam gerenciar relacionamentos com clientes através de múltiplos canais de comunicação.
- Agências de marketing digital
- Empresas de vendas e prospecção
- Suporte técnico e atendimento ao cliente
- E-commerces que precisam de gestão de leads
- WhatsApp Business API (Oficial) - Integração direta com Meta
- WhatsApp Não Oficial (Evolution API) - Via QR Code
- Instagram Direct - Mensagens e comentários
- Chat Widget - Para sites
- Cadastro completo de contatos
- Tags e segmentação
- Listas dinâmicas
- Campos personalizados
- Importação/Exportação
- Funil de vendas customizável
- Etapas com drag-and-drop
- Deals (oportunidades) com valor e estimativa
- Histórico de atividades
- Insights automáticos de conversas
- Análise de sentimento
- Sugestões de resposta
- Transcrição de áudio
- Tarefas, reuniões, ligações e prazos
- Fila de atendimento
- Notificações e lembretes
- Integração com Stripe
- Gestão de planos e assinaturas
- Faturas e reembolsos
- Cupons de desconto
- Métricas em tempo real
- Gráficos de desempenho
- Análise de funil
- Relatórios exportáveis
| Tecnologia | Versão | Descrição |
|---|---|---|
| Next.js | 15.5.13 | Framework React com App Router |
| React | 18.3.1 | Biblioteca UI |
| TypeScript | 5.7.3 | Tipagem estática |
| Tailwind CSS | 4.2.1 | Estilização utilitária |
| Tecnologia | Uso |
|---|---|
| PostgreSQL | 15+ - Banco principal |
| Prisma ORM | 5.22.0 - ORM e migrations |
| Supabase | Opção cloud para PostgreSQL |
| Biblioteca | Propósito |
|---|---|
| shadcn/ui | Componentes base (Radix UI) |
| Lucide React | Ícones |
| Recharts | Gráficos e dashboards |
| @dnd-kit | Drag-and-drop (pipeline) |
| date-fns | Manipulação de datas |
| Biblioteca | Uso |
|---|---|
| TanStack Query | 5.90+ - Data fetching |
| Zod | Validação de schemas |
| React Hook Form | Formulários |
| Serviço | Uso |
|---|---|
| Meta Business API | WhatsApp e Instagram |
| Stripe | Pagamentos e assinaturas |
| Evolution API | WhatsApp não oficial |
| OpenAI | Insights de IA (opcional) |
- Node.js 20+
- PostgreSQL 15+
- pnpm (recomendado) ou npm
git clone https://github.com/nexialab/nexIA.git
cd nexIApnpm install
# ou
npm installcp .env.local.example .env.localEdite o .env.local com suas configurações:
# ============================================
# OBRIGATÓRIAS
# ============================================
# PostgreSQL
DATABASE_URL=postgresql://user:password@localhost:5432/nexia_chat
# Auth - Chave secreta para sessões (mínimo 32 caracteres)
AUTH_SECRET=sua_chave_secreta_aqui_minimo_32_caracteres
# ============================================
# INTEGRAÇÕES (opcionais)
# ============================================
# Meta/WhatsApp Oficial
META_APP_ID=seu_app_id
META_APP_SECRET=seu_app_secret
# Evolution API (WhatsApp Não Oficial)
EVOLUTION_API_URL=https://sua-evolution-api.com
EVOLUTION_API_KEY=sua_api_key
# Stripe
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
# OpenAI (opcional)
OPENAI_API_KEY=sk-...npx prisma migrate dev
# ou
pnpm db:migratenpx prisma generatepnpm create-admin
# ou
node scripts/create-admin.jspnpm devAcesse: http://localhost:3000
- Acesse Meta for Developers
- Crie um app do tipo "Business"
- Adicione o produto "WhatsApp"
- Configure o webhook apontando para
https://seudominio.com/api/whatsapp/webhooks - Copie as credenciais para as variáveis de ambiente
- Tenha acesso a uma instância da Evolution API
- Configure as variáveis
EVOLUTION_API_URLeEVOLUTION_API_KEY - Configure o webhook para
https://seudominio.com/api/evolution/webhook - No painel do NexIA, vá em "Integrações > WhatsApp Não Oficial" e crie uma instância
- Crie uma conta em Stripe
- Copie as chaves de teste/produção
- Configure o webhook apontando para
https://seudominio.com/api/stripe/webhook - Configure os eventos:
invoice.payment_succeeded,invoice.payment_failed,customer.subscription.deleted
- Conecte seu repositório GitHub
- Configure as variáveis de ambiente no painel
- Deploy automático a cada push
Configurações importantes no Netlify:
- Build command:
pnpm install && npx prisma generate && pnpm run build - Publish directory:
.next - Node version: 20
Veja o guia completo em EASYPANEL.md
# Com Docker Compose
docker-compose -f docker-compose.prod.yml up -d# Build da imagem
docker build -t nexia-app:latest .
# Run
docker run -d \
-p 3000:3000 \
-e DATABASE_URL=postgresql://... \
-e AUTH_SECRET=... \
--name nexia-app \
nexia-app:latest# Testes unitários
pnpm test
# Testes de integração
pnpm test:integration
# Testes E2E com Playwright
pnpm test:e2e
# Cobertura
pnpm test:coverageAGENTS.md- Informações para desenvolvedores/agentes de IADEPLOY.md- Guia completo de deployEASYPANEL.md- Deploy no EasyPanelSUPABASE-EASYPANEL.md- Configuração com Supabasedocs/- Documentação técnica detalhada
app/ # Next.js App Router
├── (dashboard)/ # Grupo de rotas com layout
├── api/ # API Routes
├── contatos/ # Páginas de contatos
├── conversas/ # Páginas de conversas
├── dashboard/ # Dashboard
├── pipeline/ # Pipeline de vendas
├── integracoes/ # Integrações
└── ...
components/
├── ui/ # Componentes base (shadcn)
├── chat/ # Componentes de chat
├── contacts/ # Componentes de contatos
├── dashboard/ # Dashboard
├── pipeline/ # Pipeline
└── evolution/ # WhatsApp Evolution
lib/
├── auth/ # Autenticação
├── db/ # Database/Prisma
├── services/ # Serviços externos
├── whatsapp/ # Integração WhatsApp
├── instagram/ # Integração Instagram
└── types/ # Types TypeScript
prisma/
└── schema.prisma # Schema do banco
__tests__/ # Testes
├── unit/
├── integration/
└── e2e/
- Autenticação JWT com cookies httpOnly
- Senhas hasheadas com bcrypt
- Proteção CSRF via Next.js
- SQL injection protegido pelo Prisma
- Headers de segurança configurados
- Validação de schemas com Zod
- Fork o projeto
- Crie uma branch (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'feat: adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto é proprietário da NexIA Labs. Todos os direitos reservados.
Em caso de problemas:
- Verifique os logs:
docker logs nexia-app - Health check:
curl https://seudominio.com/api/health - Abra uma issue no GitHub
Desenvolvido com ❤️ pela NexIA Labs
