2.8 KiB
Feature Specification: Cadastro Rico de Cliente (Perfil Completo no Registro)
Feature Branch: 012-register-rich-profile
Created: 2026-04-14
Status: In Progress
Contexto
A página /cadastro atualmente coleta apenas nome, email, senha e confirmação de senha. A feature 011 adicionou campos ricos ao model ClientUser (phone, whatsapp, cpf, birth_date, address_*) e ao painel admin, mas o fluxo de auto-registro do cliente (/cadastro) não foi atualizado. Esta feature expande o formulário público de cadastro para também permitir que o próprio cliente informe seus dados de contato (telefone, WhatsApp) e documento (CPF) já no ato do registro. Os campos de endereço e data de nascimento serão opcionais e disponíveis. O formulário mantém etapas lógicas para não sobrecarregar o usuário.
User Stories
US1 — Dados de contato no cadastro (P1)
Given usuário na página /cadastro, When preenche o formulário, Then pode opcionalmente informar telefone e WhatsApp além de nome/email/senha.
US2 — CPF no cadastro (P1)
Given usuário na página /cadastro, When preenche o formulário, Then pode opcionalmente informar CPF com máscara automática.
US3 — Dados de endereço no cadastro (P2)
Given usuário na página /cadastro, When expande seção de endereço (ou preenche naturalmente), Then pode informar logradouro, número, complemento, bairro, cidade, estado e CEP.
US4 — Data de nascimento no cadastro (P2)
Given usuário na página /cadastro, When preenche seus dados pessoais, Then pode informar data de nascimento.
US5 — Campos opcionais sem bloqueio (P1)
Given usuário preenchendo o cadastro, When não preenche campos opcionais, Then o cadastro é realizado normalmente sem erro.
Acceptance Criteria
RegisterInschema emauth.pyaceita os novos campos opcionais:phone,whatsapp,cpf,birth_date,address_street,address_number,address_complement,address_neighborhood,address_city,address_state,address_zip- Endpoint
POST /auth/registerpassa novos campos aoClientUserao criar RegisterCredentialsemtypes/auth.tsexpandido com campos opcionaisregisterUseremservices/auth.tspassa os novos campos (excetoconfirmPassword)RegisterPage.tsxexpandida com seções: Acesso (nome, email, senha, confirmar senha), Contato (telefone, WhatsApp, CPF, data de nascimento), Endereço (logradouro, número, complemento, bairro, cidade, estado, CEP)- Máscaras automáticas para CPF (
000.000.000-00), telefone ((00) 00000-0000) e CEP (00000-000) - Visual consistente com o design atual da
RegisterPage(dark,border-white/6,bg-[#0f1011]) - Seções de Contato e Endereço separadas visualmente mas acessíveis sem scroll excessivo