feat: add full project - backend, frontend, docker, specs and configs

This commit is contained in:
MatheusAlves96 2026-04-20 23:59:45 -03:00
parent b77c7d5a01
commit e6cb06255b
24489 changed files with 61341 additions and 36 deletions

View file

@ -0,0 +1,34 @@
# Feature Specification: Formulário Completo de Imóvel (Admin)
**Feature Branch**: `009-property-form-completo`
**Created**: 2026-04-14
**Status**: In Progress
## Contexto
O formulário de criação/edição de imóveis no admin estava expondo apenas 3 campos (título, endereço, preço). Esta feature expande para o conjunto completo de dados de um imóvel, incluindo gestão de fotos por URL, separação de vagas cobertas/descobertas, e todos os campos de localização e características.
## User Stories
### US1 — Admin cadastra imóvel completo (P1)
**Given** admin clica em "+ Novo Imóvel", **When** preenche o formulário completo, **Then** o imóvel é criado com todos os dados e fotos.
**Acceptance Scenarios:**
1. **Given** formulário aberto, **When** admin preenche nome e preço e envia, **Then** imóvel é criado (mínimo obrigatório).
2. **Given** formulário com fotos adicionadas por URL, **When** salva, **Then** fotos aparecem no carrossel do card.
3. **Given** formulário aberto para edição, **When** remove uma foto e salva, **Then** foto não aparece mais no card.
### US2 — Admin edita imóvel com todos os dados (P1)
**Given** admin clica em "Editar" num card, **When** o painel lateral abre, **Then** todos os campos aparecem preenchidos com os dados atuais.
**Acceptance Scenarios:**
1. **Given** imóvel com 3 fotos, **When** formulário de edição abre, **Then** 3 fotos aparecem na lista gerenciável.
2. **Given** cidade selecionada no formulário, **When** admin abre dropdown de bairro, **Then** apenas bairros daquela cidade aparecem.
## Acceptance Criteria
- Campos obrigatórios: nome, preço, tipo (venda/aluguel)
- Campos opcionais: código, endereço, cidade, bairro, quartos, banheiros, vagas cobertas, vagas descobertas, área, condomínio, descrição, fotos
- Fotos gerenciadas por URL (add infinito, remoção individual)
- Dropdowns de cidade/bairro dependentes
- Design 100% fiel ao DESIGN.md
- Formulário em painel lateral (slide-over full-height) para comportar todos os campos