sass-imobiliaria/.specify/features/011-enrich-client-profile/spec.md

2.3 KiB

Feature Specification: Enriquecimento do Perfil de Cliente

Feature Branch: 011-enrich-client-profile Created: 2026-04-14 Status: In Progress

Contexto

O cadastro de clientes atualmente possui apenas: nome, email, senha e tipo (role). Esta feature expande o perfil do cliente adicionando: telefone, WhatsApp, CPF, data de nascimento, endereço completo (logradouro, número, complemento, bairro, cidade, estado, CEP) e observações internas do admin. A página de gerenciamento de clientes no admin também será redesenhada com busca, avatar com iniciais e exibição rica das novas informações.

User Stories

US1 — Cadastro rico (P1)

Given admin em novo cliente, When preenche o formulário, Then pode informar dados pessoais (CPF, nascimento), contato (tel, whatsapp), endereço completo e observações internas.

US2 — Exibição rica no admin (P1)

Given admin na listagem de clientes, When visualiza a tabela, Then vê avatar com iniciais, e-mail, telefone com link tel://, link WhatsApp, CPF, endereço resumido, tipo e data de cadastro.

US3 — Busca de clientes (P2)

Given admin na listagem, When digita na barra de busca, Then filtra por nome, e-mail, telefone ou CPF em tempo real.

US4 — Máscaras de campo (P2)

Given admin digitando no formulário, When preenche CPF/telefone/CEP, Then máscara é aplicada automaticamente.

US5 — Formulário full-screen consistente (P2)

Given admin clica em criar/editar cliente, When formulário abre, Then ocupa tela inteira com seções (Dados pessoais, Contato, Endereço, Acesso, Observações), consistente com PropertyForm.

Acceptance Criteria

  • 12 novas colunas em client_users: phone, whatsapp, cpf, birth_date, address_street, address_number, address_complement, address_neighborhood, address_city, address_state, address_zip, notes
  • Alembic migration com down_revision apontando para f1a2b3c4d5e6
  • Schemas Pydantic ClientUserOut / ClientUserCreateIn / ClientUserUpdateIn expandidos
  • Tabela de clientes responsiva com avatar, busca, WhatsApp link, colunas hidden em mobile
  • ClienteForm em tela cheia com 5 seções e máscaras de CPF/telefone/CEP
  • Campos novos são opcionais no backend