Files
aggios.app/1. docs/old/plano.md
2025-12-08 21:47:38 -03:00

217 lines
5.9 KiB
Markdown

# 📋 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!**