217 lines
5.9 KiB
Markdown
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!** |