- 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.
90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
# AutomatizaSE Portal
|
|
|
|
Portal web para gerenciamento de conexões WhatsApp (EvolutionAPI) e autorização OAuth do Google Calendar.
|
|
|
|
## Setup
|
|
|
|
1. Clone o repositório
|
|
2. Copie `.env.local.example` para `.env.local`
|
|
3. Preencha as variáveis de ambiente
|
|
4. Configure o Supabase (veja seção abaixo)
|
|
5. Instale dependências: `npm install`
|
|
6. Rode o servidor: `npm run dev`
|
|
7. Acesse: http://localhost:3000
|
|
|
|
### Configuração do Supabase
|
|
|
|
#### 1. Criar Schema e Tabelas
|
|
|
|
No Supabase Dashboard, vá em **SQL Editor** e execute o script:
|
|
|
|
```bash
|
|
docs/sql/01-schema-portal.sql
|
|
```
|
|
|
|
Este script irá:
|
|
- Criar o schema `portal`
|
|
- Criar tabelas `user_settings` e `integrations`
|
|
- Habilitar Row Level Security (RLS)
|
|
- Configurar políticas de acesso
|
|
|
|
#### 2. Configurar SMTP para Autenticação
|
|
|
|
No Supabase Dashboard:
|
|
|
|
1. Vá em **Authentication → Email Templates → SMTP Settings**
|
|
2. 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
|
|
|
|
```bash
|
|
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`.
|