sass-imobiliaria/.specify/features/002-docker-setup/tasks.md

3.1 KiB
Raw Blame History

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 ./backend conclui 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 ./frontend conclui 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 config valida; 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: .env está no .gitignore e não aparece em git 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.ps1 valida 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:5173 carrega homepage
    • http://localhost:5000/api/v1/homepage-config retorna 200
    • http://localhost:5000/api/v1/properties?featured=true retorna array
    • Editar um .tsx reflete 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: T001T008 = ambiente Docker funcional.