- Implemented a bash script to test n8n API and retrieve credential schemas. - Added types for API responses, Google Calendar, and WhatsApp instances. - Configured Vitest for testing with React and added setup for testing-library.
2.4 KiB
2.4 KiB
AutomatizaSE Portal
Portal web para gerenciamento de conexões WhatsApp (EvolutionAPI) e autorização OAuth do Google Calendar.
Setup
- Clone o repositório
- Copie
.env.local.examplepara.env.local - Preencha as variáveis de ambiente
- Configure o Supabase (veja seção abaixo)
- Instale dependências:
npm install - Rode o servidor:
npm run dev - Acesse: http://localhost:3000
Configuração do Supabase
1. Criar Schema e Tabelas
No Supabase Dashboard, vá em SQL Editor e execute o script:
docs/sql/01-schema-portal.sql
Este script irá:
- Criar o schema
portal - Criar tabelas
user_settingseintegrations - Habilitar Row Level Security (RLS)
- Configurar políticas de acesso
2. Configurar SMTP para Autenticação
No Supabase Dashboard:
- Vá em Authentication → Email Templates → SMTP Settings
- Configure:
- Host: smtp.automatizase.com.br
- Port: 587
- Username: noreply@automatizase.com.br
- Password: [senha do SMTP]
- Sender email: noreply@automatizase.com.br
- Sender name: AutomatizaSE
3. Testar Conexão
Após configurar, acesse: http://localhost:3000/test-supabase
Se tudo estiver correto, você verá: ✅ Supabase connected successfully!
Tech Stack
- NextJS 14+ (App Router)
- TailwindCSS v4
- Supabase (Auth + Database)
- TypeScript
Variáveis de Ambiente
Veja o arquivo .env.local.example para todas as variáveis necessárias:
- Supabase: URL e chaves de API
- EvolutionAPI: URL, API key e nomes de instâncias
- n8n: URL do webhook OAuth
- Site: URL pública do site
Estrutura do Projeto
/app - Páginas e rotas da aplicação
/components - Componentes React reutilizáveis
/lib - Bibliotecas e utilitários
/types - Definições de tipos TypeScript
/hooks - React hooks customizados
/services - Camada de serviços
Scripts Disponíveis
npm run dev # Inicia servidor de desenvolvimento
npm run build # Build de produção
npm run start # Inicia servidor de produção
npm run lint # Executa linting
npm run format # Formata código
Tema Escuro
O projeto usa tema escuro por padrão. Todas as cores estão centralizadas no arquivo app/globals.css. Para alterar as cores do projeto inteiro, basta editar as variáveis CSS em :root.