3.1 KiB
3.1 KiB
Tasks: Docker Setup
Branch: 002-docker-setup
Plan: .specify/features/002-docker-setup/plan.md
Created: 2026-04-13
Phase 1 — Backend Dockerfile
T001 — Criar backend/Dockerfile
- Complexity: S
- Dependencies: nenhuma
- Spec ref: FR1, FR3
- Files:
backend/Dockerfile,backend/entrypoint.sh - Done when:
docker build -t imob-backend ./backendconclui sem erro
T002 — Criar entrypoint.sh com migrations + seed + server
- Complexity: S
- Dependencies: T001
- Spec ref: FR3
- Files:
backend/entrypoint.sh - Done when: Script executa
flask db upgrade, seeder, e sobe Flask na porta 5000
Phase 2 — Frontend Dockerfile
T003 — Criar frontend/Dockerfile
- Complexity: S
- Dependencies: nenhuma [P] paralelo com T001
- Spec ref: FR1, FR4
- Files:
frontend/Dockerfile - Done when:
docker build -t imob-frontend ./frontendconclui sem erro
T004 — Atualizar vite.config.ts para proxy Docker
- Complexity: S
- Dependencies: T003
- Spec ref: FR1
- Files:
frontend/vite.config.ts - Done when: Proxy aponta para
http://backend:5000(nome do serviço Docker); local dev ainda funciona via variável de ambiente
Phase 3 — Orquestração
T005 — Criar docker-compose.yml
- Complexity: M
- Dependencies: T001, T003
- Spec ref: FR1, FR2, FR4, FR5
- Files:
docker-compose.yml - Done when:
docker-compose configvalida; 3 serviços definidos com healthcheck no db
T006 — Criar .env.example na raiz
- Complexity: S
- Dependencies: T005
- Spec ref: FR5, NFR4
- Files:
.env.example(raiz) - Done when: Todas as variáveis usadas no compose estão documentadas com valores de exemplo
T007 — Verificar .gitignore cobre .env
- Complexity: S
- Dependencies: T006
- Spec ref: NFR3, NFR4
- Files:
.gitignore - Done when:
.envestá no .gitignore e não aparece emgit status
Phase 4 — Script de conveniência
T008 — Criar start.ps1 na raiz
- Complexity: S
- Dependencies: T005
- Spec ref: FR6
- Files:
start.ps1 - Done when:
.\start.ps1valida Docker e executa compose; exibe erro claro se Docker não estiver instalado
Validação
T009 — Testar docker-compose up --build end-to-end
- Complexity: M
- Dependencies: T005, T008
- Spec ref: Todos os Acceptance Scenarios
- Done when:
http://localhost:5173carrega homepagehttp://localhost:5000/api/v1/homepage-configretorna 200http://localhost:5000/api/v1/properties?featured=trueretorna array- Editar um
.tsxreflete no browser via hot-reload
Resumo
| Task | Fase | Complexidade | Paralelo? |
|---|---|---|---|
| T001 | Backend Dockerfile | S | - |
| T002 | entrypoint.sh | S | - |
| T003 | Frontend Dockerfile | S | ✅ com T001 |
| T004 | vite proxy Docker | S | - |
| T005 | docker-compose.yml | M | - |
| T006 | .env.example raiz | S | - |
| T007 | .gitignore check | S | - |
| T008 | start.ps1 | S | - |
| T009 | Validação E2E | M | - |
MVP: T001–T008 = ambiente Docker funcional.