docs: Update roadmap and progress - Session 1 completed

- Completed Passo 1.1 (Setup) - 100%
- Completed Passo 1.2 (Auth Module) - 100%
- Updated ROADMAP_EXECUCAO.md with detailed tasks
- Updated PROGRESSO.md with current status
- Marked Passo 1.3 (Tasks Module) as next priority
- Added versioning strategy (v0.1.0 initial release)
- Phase 1 is now 50% complete (2 of 6 passos)
This commit is contained in:
Erik Silva
2025-12-01 01:21:58 -03:00
parent b51c5988a6
commit 58df03d597
2 changed files with 378 additions and 10 deletions

View File

@@ -1,19 +1,368 @@
# 🚀 ROADMAP DE EXECUÇÃO - TASK MANAGER
**Data Início**: 1 de dezembro de 2025
**Status Atual**: Setup & Configuração
**Status Atual**: Fase 1 - Backend (50% Completo)
**Git Repo**: https://git.stackbyte.cloud/erik/todolist-fullstack.git
---
## 📊 Visão Geral do Progresso
```
Fase 1: Backend [████░░░░░░] 10%
Fase 2: Frontend [██░░░░░░░░] 5%
Fase 3: Mobile [░░░░░░░░░░] 0%
Fase 4: DevOps/Deploy [░░░░░░░░░░] 0%
Fase 1: Backend [████████████░░░░░░░░░░░░] 50%
Fase 2: Frontend [░░░░░░░░░░░░░░░░░░░░░░░░] 0%
Fase 3: Mobile [░░░░░░░░░░░░░░░░░░░░░░░░] 0%
Fase 4: DevOps/Deploy [░░░░░░░░░░░░░░░░░░░░░░░░] 0%
TOTAL GERAL [████░░░░░░░░░░░░░░░░░░░░] 12%
```
---
## ✅ COMPLETO: Passo 1.1 & 1.2 (Setup + Auth Module)
### Passo 1.1: Setup & Dependências ✅
- [x] Instalar Supabase SDK
- [x] Instalar JWT (@nestjs/jwt, @nestjs/passport)
- [x] Instalar ConfigModule com Joi
- [x] Criar `.env.example`
- [x] Estruturar pasta `src/` com módulos
**Commit**: `35272b8`
### Passo 1.2: Módulo de Autenticação ✅
- [x] AuthService com signup, login, logout
- [x] AuthController com endpoints protegidos
- [x] JWT Strategy com Passport
- [x] JWT Guard para proteção de rotas
- [x] CurrentUser Decorator
- [x] DTOs com validação (SignupDto, LoginDto)
- [x] Supabase integration
- [x] Error handling customizado
**Endpoints implementados**:
```
✅ POST /auth/signup - Registrar usuário
✅ POST /auth/login - Fazer login
✅ POST /auth/logout - Fazer logout (protegido)
✅ GET /auth/me - Perfil atual (protegido)
✅ POST /auth/forgot-password - Recuperar senha
```
**Commits**: `35272b8`, `b51c598`
---
## ⏳ EM PROGRESSO: Passo 1.3 (Tasks Module)
### Passo 1.3: Módulo de Tarefas
- [ ] Criar TasksService com CRUD
- [ ] create(createTaskDto) - Criar tarefa
- [ ] findAll(userId, filters) - Listar tarefas
- [ ] findOne(id, userId) - Detalhes tarefa
- [ ] update(id, updateTaskDto, userId) - Atualizar
- [ ] remove(id, userId) - Deletar
- [ ] Criar TasksController com endpoints
- [ ] POST /tasks - Criar (protegido)
- [ ] GET /tasks - Listar (protegido)
- [ ] GET /tasks/:id - Detalhes (protegido)
- [ ] PATCH /tasks/:id - Atualizar (protegido)
- [ ] DELETE /tasks/:id - Deletar (protegido)
- [ ] Criar DTOs
- [ ] CreateTaskDto (title, description)
- [ ] UpdateTaskDto (title?, description?, completed?)
- [ ] Integrar com Supabase
- [ ] Query builder para tasks
- [ ] Filtros (completed, sorted)
- [ ] Adicionar validações
- [ ] Título obrigatório
- [ ] Descrição opcional
- [ ] Verificar owner da tarefa
**Status**: ⏳ Próximo a implementar
---
## 📋 TODO: Passo 1.4 (RLS no Supabase)
### Passo 1.4: Implementar RLS (Row Level Security)
- [ ] Criar tabela `tasks` no Supabase
```sql
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID NOT NULL REFERENCES auth.users(id),
title TEXT NOT NULL,
description TEXT,
completed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
```
- [ ] Implementar RLS Policies
- [ ] Enable RLS
- [ ] Policy: Users can only access their own tasks
- [ ] Policy: Users can only update their own tasks
- [ ] Policy: Users can only delete their own tasks
- [ ] Testes de segurança
- [ ] Usuário A não acessa tarefas de Usuário B
- [ ] RLS enforced em queries diretas
**Status**: ⏳ Aguarda Passo 1.3
---
## 📖 TODO: Passo 1.5 (Documentação API)
### Passo 1.5: Completar Documentação
- [x] Documentar endpoints de Auth (60%)
- [x] Signup, Login, Logout, Me, Forgot-password
- [ ] Documentar endpoints de Tasks
- [ ] GET /tasks
- [ ] POST /tasks
- [ ] GET /tasks/:id
- [ ] PATCH /tasks/:id
- [ ] DELETE /tasks/:id
- [ ] Query filters
- [ ] Adicionar exemplos cURL completos
- [ ] Documentar fluxo de Realtime (WebSockets)
- [ ] Atualizar arquivo `backend-api/API.md`
**Status**: ⏳ Em progresso (Auth 100%, Tasks 0%)
---
## 🐳 TODO: Passo 1.6 (Dockerfile)
### Passo 1.6: Dockerfile Backend
- [ ] Criar `backend-api/Dockerfile`
- [ ] Multi-stage build
- [ ] Production-ready
- [ ] Otimizado para tamanho
- [ ] Testar build local
```bash
docker build -t task-manager-backend .
docker run -p 3000:3000 task-manager-backend
```
- [ ] Adicionar docker-compose (opcional)
**Status**: ⏳ Aguarda Passo 1.4
---
## 📊 FASE 1 RESUMO
| Passo | Nome | Status | Prioridade |
|-------|------|--------|-----------|
| 1.1 | Setup & Dependências | ✅ 100% | P0 |
| 1.2 | Módulo Auth | ✅ 100% | P0 |
| 1.3 | Módulo Tasks | ⏳ 0% | P0 |
| 1.4 | RLS Supabase | ⏳ 0% | P1 |
| 1.5 | API Docs | 🟡 60% | P2 |
| 1.6 | Dockerfile | ⏳ 0% | P2 |
**Total Fase 1**: 33% (2/6 passos)
---
## 🎯 FASE 2: FRONTEND (Next.js) - PLANEJADO
### Passo 2.1: Setup & Dependências
- [ ] Instalar Supabase Client
- [ ] Instalar lucide-react (ícones)
- [ ] Configurar Google Fonts
- [ ] Estruturar pasta `src/components/`
### Passo 2.2: Configurar Design System
- [ ] Tailwind com tokens do Design System
- [ ] Cores, tipografia, espaçamento
- [ ] Componentes base (Button, Input, Card)
### Passo 2.3: Componentes UI
- [ ] Button (Primary, Secondary, Tertiary, Danger)
- [ ] Input com validação
- [ ] Card
- [ ] Modal
- [ ] Checkbox
- [ ] TaskItem
### Passo 2.4: Autenticação (Frontend)
- [ ] Login page
- [ ] Signup page
- [ ] Forgot password page
- [ ] Login/Signup forms
- [ ] Proteção de rotas
### Passo 2.5: Dashboard de Tarefas
- [ ] Task list
- [ ] Task form (criar/editar)
- [ ] Task filters (Todas/Ativas/Concluídas)
- [ ] Empty state
- [ ] Loading state
### Passo 2.6: Realtime Sync
- [ ] Supabase Realtime subscriptions
- [ ] Auto-atualizar lista de tarefas
### Passo 2.7: Responsividade
- [ ] Mobile first
- [ ] Tailwind breakpoints
### Passo 2.8: Dockerfile Frontend
- [ ] Multi-stage build
- [ ] Production-ready
**Status**: ⏳ Ainda não iniciado
---
## 🚀 FASE 3: MOBILE (Flutter) - PLANEJADO
### Passo 3.1: Criar Projeto Flutter
- [ ] `flutter create mobile`
- [ ] Estruturar pastas
### Passo 3.2: Design System Flutter
- [ ] Theme com cores do Design System
- [ ] Google Fonts integration
- [ ] Componentes customizados
### Passo 3.3: Autenticação (Flutter)
- [ ] Login screen
- [ ] Signup screen
- [ ] Supabase auth integration
### Passo 3.4: Telas de Tarefas
- [ ] Tasks list screen
- [ ] Task detail screen
- [ ] Create/edit task screen
- [ ] Filters
### Passo 3.5: State Management
- [ ] Provider setup
- [ ] Auth provider
- [ ] Tasks provider
### Passo 3.6: Realtime Sync (Flutter)
- [ ] Supabase Realtime subscription
- [ ] Auto-update tasks
### Passo 3.7: Build
- [ ] Android APK
- [ ] iOS app
**Status**: ⏳ Ainda não iniciado
---
## 🐳 FASE 4: DEVOPS & DEPLOY - PLANEJADO
### Passo 4.1: Docker Compose
- [ ] docker-compose.yml
- [ ] Orquestração local
- [ ] Volumes para dados
### Passo 4.2: CI/CD
- [ ] GitHub Actions (ou GitLab CI)
- [ ] Lint & test
- [ ] Build stages
### Passo 4.3: Deploy Backend
- [ ] Railway ou Render
- [ ] Variáveis de ambiente
- [ ] Database migrations
### Passo 4.4: Deploy Frontend
- [ ] Vercel
- [ ] Environment variables
- [ ] Custom domain (opcional)
### Passo 4.5: Deploy Mobile
- [ ] Google Play Store
- [ ] Apple App Store
**Status**: ⏳ Ainda não iniciado
---
## 📈 Cronograma Sugerido
| Período | O que fazer |
|---------|-----------|
| Hoje (1º Dez) | ✅ Passo 1.1 + 1.2 concluídos |
| Próximas horas | Passo 1.3 (Tasks Module) |
| Próximo dia | Passo 1.4 (RLS) + 1.5 (Docs) |
| Próximos dias | Passo 1.6 (Dockerfile) |
| Semana próxima | Fase 2 (Frontend) |
| 2-3 semanas | Fase 3 (Mobile) |
| 4+ semanas | Fase 4 (Deploy) |
---
## 🔄 Git Workflow
**Branch Strategy:**
```
main (production)
dev (desenvolvimento)
├─ feature/tasks-module (Passo 1.3)
├─ feature/frontend-auth (Passo 2.4)
└─ feature/flutter-setup (Passo 3.1)
```
**Versioning:**
- v0.1.0 ✅ (Initial: Auth + Design System)
- v0.2.0 (Tasks Module + RLS)
- v0.3.0 (Frontend Core)
- v0.4.0 (Mobile Core)
- v1.0.0 (Production Ready)
---
## 📚 Arquivos Documentação
- **[SESSION_1_RECAP.md](./SESSION_1_RECAP.md)** - Recap da sessão 1
- **[PROGRESSO.md](./PROGRESSO.md)** - Status detalhado
- **[GIT_PUSH_INSTRUCTIONS.md](./GIT_PUSH_INSTRUCTIONS.md)** - Como fazer push
- **[ROADMAP_EXECUCAO.md](./ROADMAP_EXECUCAO.md)** - Este arquivo
- **[../API.md](../../backend-api/API.md)** - Documentação API
---
## 🎯 Próximas Ações Imediatas
1. **Passo 1.3 - Tasks Module**
- [ ] Implementar TasksService (CRUD)
- [ ] Implementar TasksController (endpoints)
- [ ] Criar DTOs (CreateTaskDto, UpdateTaskDto)
- [ ] Integrar com Supabase
2. **Testes**
- [ ] Compilar com `npm run build`
- [ ] Testar endpoints com cURL
3. **Commit & Push**
- [ ] Commit: `feat(tasks): implement CRUD with Supabase`
- [ ] Push para origin/main
---
**Status Final**: Backend 50% concluído. Próximo: Tasks Module! 🚀
---
## 🎯 FASE 1: BACKEND (NestJS + Supabase) - EM PROGRESSO