Dashboard-Automatizase/docs/prd/4-technical-assumptions.md
2025-10-05 21:17:43 -03:00

39 lines
1.5 KiB
Markdown

# 4. Technical Assumptions
## Repository Structure
**Monorepo** - Projeto NextJS único contendo frontend e API routes
## Service Architecture
**Monolith com API Routes do NextJS** - Frontend NextJS com API routes para comunicação com EvolutionAPI e Supabase. Supabase gerencia autenticação, banco de dados (schema `portal`), e recuperação de senha via SMTP.
## Testing Requirements
**Manual Testing** - POC focada em validação manual, sem suite de testes automatizados inicialmente. Conveniente incluir logs detalhados para debugging.
## Additional Technical Assumptions
- **Framework:** NextJS 14+ (App Router)
- **UI Components:** Shadcn/ui ou TailwindCSS puro para tema escuro e componentes
- **Auth:** Supabase Auth (unificado com projeto existente)
- **Database:** Supabase PostgreSQL, schema `portal`
- **EvolutionAPI:** Integração via fetch/axios com endpoints REST
- **OAuth Google Calendar:** Redirecionamento para n8n webhook (n8n gerencia credenciais)
- **Deployment:** Vercel (recomendado para NextJS) ou outra plataforma com suporte a variáveis de ambiente
- **Environment Variables:**
```
EVOLUTION_API_URL
EVOLUTION_API_KEY
EVOLUTION_INSTANCE_NAMES (comma-separated)
N8N_OAUTH_URL
SUPABASE_URL
SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
NEXT_PUBLIC_SITE_URL
```
- **Estado:** Usar React state/hooks para gerenciar status de conexões, evitar bibliotecas de estado pesadas
- **Polling:** Implementar polling simples (ex: a cada 5s) para atualizar status de instâncias WhatsApp se necessário
---