Skip to content

Gabrielloopes33/nexIA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexIA Chat

NexIA Logo

CRM Completo Multi-Tenant com Inteligência Artificial

FuncionalidadesStackInstalaçãoConfiguraçãoDeployDocs


📋 Sobre

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.

🎯 Público-alvo

  • 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

✨ Funcionalidades

💬 Comunicação Omnichannel

  • 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

👥 Gestão de Contatos

  • Cadastro completo de contatos
  • Tags e segmentação
  • Listas dinâmicas
  • Campos personalizados
  • Importação/Exportação

📊 Pipeline de Vendas

  • Funil de vendas customizável
  • Etapas com drag-and-drop
  • Deals (oportunidades) com valor e estimativa
  • Histórico de atividades

🤖 Inteligência Artificial

  • Insights automáticos de conversas
  • Análise de sentimento
  • Sugestões de resposta
  • Transcrição de áudio

📅 Agendamentos

  • Tarefas, reuniões, ligações e prazos
  • Fila de atendimento
  • Notificações e lembretes

💳 Cobranças e Assinaturas

  • Integração com Stripe
  • Gestão de planos e assinaturas
  • Faturas e reembolsos
  • Cupons de desconto

📈 Dashboard e Analytics

  • Métricas em tempo real
  • Gráficos de desempenho
  • Análise de funil
  • Relatórios exportáveis

🛠 Stack Tecnológico

Core

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

Banco de Dados

Tecnologia Uso
PostgreSQL 15+ - Banco principal
Prisma ORM 5.22.0 - ORM e migrations
Supabase Opção cloud para PostgreSQL

UI/UX

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

Estado e Dados

Biblioteca Uso
TanStack Query 5.90+ - Data fetching
Zod Validação de schemas
React Hook Form Formulários

Integrações

Serviço Uso
Meta Business API WhatsApp e Instagram
Stripe Pagamentos e assinaturas
Evolution API WhatsApp não oficial
OpenAI Insights de IA (opcional)

📦 Instalação

Pré-requisitos

  • Node.js 20+
  • PostgreSQL 15+
  • pnpm (recomendado) ou npm

1. Clone o repositório

git clone https://github.com/nexialab/nexIA.git
cd nexIA

2. Instale as dependências

pnpm install
# ou
npm install

3. Configure as variáveis de ambiente

cp .env.local.example .env.local

Edite 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-...

4. Execute as migrações do banco

npx prisma migrate dev
# ou
pnpm db:migrate

5. Gere o cliente Prisma

npx prisma generate

6. Crie um usuário admin

pnpm create-admin
# ou
node scripts/create-admin.js

7. Inicie o servidor de desenvolvimento

pnpm dev

Acesse: http://localhost:3000


⚙️ Configuração

WhatsApp Oficial (Meta Business API)

  1. Acesse Meta for Developers
  2. Crie um app do tipo "Business"
  3. Adicione o produto "WhatsApp"
  4. Configure o webhook apontando para https://seudominio.com/api/whatsapp/webhooks
  5. Copie as credenciais para as variáveis de ambiente

WhatsApp Não Oficial (Evolution API)

  1. Tenha acesso a uma instância da Evolution API
  2. Configure as variáveis EVOLUTION_API_URL e EVOLUTION_API_KEY
  3. Configure o webhook para https://seudominio.com/api/evolution/webhook
  4. No painel do NexIA, vá em "Integrações > WhatsApp Não Oficial" e crie uma instância

Stripe (Assinaturas)

  1. Crie uma conta em Stripe
  2. Copie as chaves de teste/produção
  3. Configure o webhook apontando para https://seudominio.com/api/stripe/webhook
  4. Configure os eventos: invoice.payment_succeeded, invoice.payment_failed, customer.subscription.deleted

🚀 Deploy

Opção 1: Netlify (Recomendado)

Deploy to Netlify

  1. Conecte seu repositório GitHub
  2. Configure as variáveis de ambiente no painel
  3. 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

Opção 2: EasyPanel

Veja o guia completo em EASYPANEL.md

# Com Docker Compose
docker-compose -f docker-compose.prod.yml up -d

Opção 3: VPS com Docker

# 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

# Testes unitários
pnpm test

# Testes de integração
pnpm test:integration

# Testes E2E com Playwright
pnpm test:e2e

# Cobertura
pnpm test:coverage

📚 Documentação


🏗️ Estrutura do Projeto

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/

🔐 Segurança

  • 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

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch (git checkout -b feature/nova-feature)
  3. Commit suas mudanças (git commit -m 'feat: adiciona nova feature')
  4. Push para a branch (git push origin feature/nova-feature)
  5. Abra um Pull Request

📄 Licença

Este projeto é proprietário da NexIA Labs. Todos os direitos reservados.


💬 Suporte

Em caso de problemas:

  1. Verifique os logs: docker logs nexia-app
  2. Health check: curl https://seudominio.com/api/health
  3. Abra uma issue no GitHub

Desenvolvido com ❤️ pela NexIA Labs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors