# 📋 PLANO DE TAREFAS ATUALIZADO - AGGIOS

**Backend Go + Stack Completo**  
**Status**: ✅ Infraestrutura pronta (Docker 5/5 serviços)  
**Versão**: 2.0  
**Data**: 06/12/2025

---

## 📊 Visão Geral

```
FASE 1: Completar Backend Go (1-2 semanas)
  └─ Autenticação + Handlers + Banco de Dados

FASE 2: Conectar Frontends (1 semana)
  └─ Dashboard + Landing conectadas ao backend

FASE 3: Features Core (2 semanas)
  └─ Cadastro multi-step + CRM básico

FASE 4: Deploy + Testes (1 semana)
  └─ CI/CD + Testes + Deploy em produção
```

---

## 🟢 STATUS ATUAL

✅ **Infraestrutura Pronta:**
- Backend Go rodando no Docker
- PostgreSQL 16 com migrations
- Redis 7 para cache
- MinIO para S3-compatible storage
- Traefik v2.10 para multi-tenant
- Health checks respondendo

---

## 🔴 FASE 1: COMPLETAR BACKEND GO (PRÓXIMOS 7-10 DIAS)

**Objetivo**: Backend 100% funcional com autenticação e handlers reais  
**Estimativa**: 1-2 semanas  
**Dependências**: Infraestrutura ✓

### 1.1 Autenticação & Security
- [ ] Implementar handler `/api/auth/register` (criar usuário)
- [ ] Implementar handler `/api/auth/login` (gerar JWT)
- [ ] Implementar handler `/api/auth/refresh` (renovar token)
- [ ] Implementar handler `/api/auth/logout` (invalida refresh token)
- [ ] Implementar middleware JWT (validação de token)
- [ ] Implementar middleware CORS (origins whitelisted)
- [ ] Implementar rate limiting (Redis)
- [ ] Hash de senha com Argon2

### 1.2 Endpoints Core
- [ ] GET `/api/me` - Dados do usuário autenticado
- [ ] GET `/api/health` - Status de todos os serviços
- [ ] POST `/api/tenants` - Criar novo tenant/agência
- [ ] GET `/api/tenants/:id` - Buscar tenant específico

### 1.3 Camada de Dados
- [ ] Completar modelos: User, Tenant, RefreshToken
- [ ] Implementar repository pattern (database queries)
- [ ] Implementar service layer (lógica de negócio)
- [ ] Testes unitários dos handlers

**Go Check**: Endpoints autenticados funcionam, JWT é validado, banco responde

---

## 🟠 FASE 2: CONECTAR FRONTENDS (7-10 DIAS)

**Objetivo**: Dashboard e landing conectadas ao backend  
**Estimativa**: 1 semana  
**Dependências**: Fase 1 ✓

### 2.1 Dashboard (Next.js)
- [ ] Implementar login (chamar `/api/auth/login`)
- [ ] Armazenar JWT em cookies/localStorage
- [ ] Middleware de autenticação (redirecionar para login)
- [ ] Página de dashboard com dados do usuário (`/api/me`)
- [ ] Integrar com Traefik (subdomain routing)

### 2.2 Landing Institucional
- [ ] Conectar botão "Começar" ao formulário de registro
- [ ] Integrar `/api/auth/register`
- [ ] Validações de frontend
- [ ] Feedback visual (loading, errors, success)

**Go Check**: Login funciona, dashboard mostra dados do usuário logado

---

## 🟡 FASE 3: FEATURES CORE (10-14 DIAS)

**Objetivo**: Cadastro multi-step e CRM básico  
**Estimativa**: 2 semanas  
**Dependências**: Fase 2 ✓

### 3.1 Cadastro Multi-Step (Backend)
- [ ] Step 1: Dados Pessoais (nome, email, telefone)
- [ ] Step 2: Dados Empresa (nome, CNPJ, ramo)
- [ ] Step 3: Localização (CEP, endereço, cidade - integrar ViaCEP)
- [ ] Step 4: Logo (upload para MinIO)
- [ ] Step 5: Subdomain (agencia-nome.aggios.app)
- [ ] Endpoint POST `/api/register/complete` (transação final)

### 3.2 Cadastro Multi-Step (Frontend)
- [ ] Formulário 5 steps no dashboard
- [ ] Persistência entre steps (localStorage)
- [ ] Validação por step
- [ ] Upload de logo
- [ ] Confirmação final

### 3.3 CRM Básico (Backend)
- [ ] Endpoints CRUD para clientes (Create, Read, Update, Delete)
- [ ] Paginação e filtros
- [ ] RLS (Row-Level Security) - clientes isolados por tenant
- [ ] Logs de auditoria

### 3.4 CRM Básico (Frontend)
- [ ] Dashboard com gráficos (clientes total, conversão, etc)
- [ ] Listagem de clientes
- [ ] Página de cliente individual
- [ ] Criar/editar cliente

**Go Check**: Cadastro funciona 100%, agência criada com sucesso, CRM funciona

---

## 🟢 FASE 4: DEPLOY & TESTES (7 DIAS)

**Objetivo**: Tudo em produção e testado  
**Estimativa**: 1 semana  
**Dependências**: Fase 3 ✓

### 4.1 Testes
- [ ] Testes unitários backend (auth, handlers)
- [ ] Testes de integração (banco + API)
- [ ] Testes E2E (fluxo cadastro completo)
- [ ] Coverage mínimo 80%

### 4.2 CI/CD
- [ ] GitHub Actions (test na branch)
- [ ] Deploy automático (main → produção)
- [ ] Lint (golangci-lint)
- [ ] Security scan

### 4.3 Deploy Produção
- [ ] Configurar Let's Encrypt (HTTPS)
- [ ] Setup banco de dados remoto
- [ ] Setup Redis remoto
- [ ] Setup MinIO remoto (ou S3 AWS)
- [ ] Variáveis de ambiente produção
- [ ] Monitoramento (logs, alertas)

**Go Check**: App funciona em produção, fluxo completo de signup funciona, HTTPS ativo
- [ ] Criar endpoint para editar cliente - backend
- [ ] Criar endpoint para deletar cliente - backend
- [ ] Criar tela de adicionar cliente - frontend
- [ ] Criar tela de editar cliente - frontend
- [ ] Implementar proteção de rotas (autenticação)
- [ ] Criar logout - backend
- [ ] Testar fluxo completo (cadastro até CRM)
- [ ] Corrigir bugs encontrados
- [ ] Deploy final em produção

**Go Check**: MVP 100% funcional, sem bugs críticos, em produção

---

## 📊 Total: 38 Etapas em 5 Semanas

```
Semana 1: 7 etapas   (Setup)
Semana 2: 7 etapas   (Cadastro P1)
Semana 3: 9 etapas   (Cadastro P2 + Deploy)
Semana 4: 5 etapas   (CRM P1)
Semana 5: 10 etapas  (CRM P2 + Testes + Deploy)
━━━━━━━━━━━━━━━━━━━━━
TOTAL: 38 etapas
```

---

## ✅ Milestones

### Fim Semana 1
- Ambiente local funcional
- Tudo compila

### Fim Semana 2
- Cadastro steps 1-2 funcionando
- Landing page ativa

### Fim Semana 3
- Cadastro completo (todos 5 steps)
- Deploy em Dokploy
- GitHub CI/CD ativo

### Fim Semana 4
- CRM dashboard pronto
- Lista de clientes pronto

### Fim Semana 5
- MVP 100% completo
- Em produção
- Pronto para usuários

---

**Versão**: 1.0  
**Data**: 04/12/2025  
**Status**: Pronto para execução

🚀 **Sucesso!**