Sistema de Normalização de Dados
Entenda como o sistema normaliza automaticamente os dados de entrada
Visão Geral
O sistema aplica normalização automática em determinados campos antes de salvar os dados no banco. Isso garante:
- Consistência: Todos os dados seguem o mesmo padrão
- Usabilidade: Usuários podem digitar em qualquer formato
- Qualidade: Dados padronizados facilitam buscas e relatórios
- Padrões Brasileiros: Segue convenções de nomenclatura do português
Campos Normalizados
| Campo | Regra de Normalização | Exemplo |
|---|---|---|
| first_name | Primeira letra maiúscula, exceto artigos |
"joão" → "João"
|
| last_name | Primeira letra maiúscula, exceto artigos |
"da silva" → "da Silva"
|
| Tudo minúsculo |
"RICARDO@GMAIL.COM" → "ricardo@gmail.com"
|
|
| city | Primeira letra de cada palavra maiúscula |
"são paulo" → "São Paulo"
|
| state | Sempre maiúsculo |
"sp" → "SP"
|
| cpf | 11 dígitos numéricos + validação |
"12345678901" (válido)
|
Validação de CPF
O sistema aplica validação rigorosa de CPF com as seguintes regras:
| Regra | Descrição | Exemplo |
|---|---|---|
| Formato | Exatamente 11 dígitos numéricos |
"12345678901" ✓
|
| Sem formatação | Sem pontos, traços ou espaços |
"123.456.789-01" ✗
|
| Dígitos iguais | Não aceita CPFs com todos os dígitos iguais |
"11111111111" ✗
|
| Algoritmo | Validação matemática dos dígitos verificadores |
"11144477735" ✓
|
Exemplos de CPFs válidos: 11144477735, 98765432100, 12345678909
Exemplos de CPFs inválidos: 11111111111, 12345678900, 123456789
Artigos que Permanecem Minúsculos
Os seguintes artigos permanecem sempre em minúsculo, mesmo quando estão no início de uma palavra:
| Artigo | Exemplo de Uso | Resultado |
|---|---|---|
| de | "maria de jesus" |
"Maria de Jesus"
|
| da | "kédima da silva" |
"Kédima da Silva"
|
| do | "joão do santos" |
"João do Santos"
|
| das | "ana das graças" |
"Ana das Graças"
|
| dos | "joão dos santos" |
"João dos Santos"
|
| e | "lucas lima e casto" |
"Lucas Lima e Casto"
|
Campos Mantidos Como Digitado
Os seguintes campos são mantidos exatamente como o usuário digitou, apenas com remoção de espaços extras:
| Campo | Descrição | Exemplo |
|---|---|---|
| phone | Telefone |
"(11) 98765-4321" (mantido)
|
| cpf | CPF |
"12345678901" (mantido)
|
| address | Endereço |
"Rua das Flores, 123" (mantido)
|
| neighborhood | Bairro |
"Centro" (mantido)
|
| cep | CEP |
"01234-567" (mantido)
|
| function | Função |
"Pároco" (mantido)
|
| diocese | Diocese |
"Diocese de São Paulo" (mantido)
|
| pronoun | Pronome |
"Pe." (mantido)
|
| order_abbreviation | Abreviação da Ordem |
"SDB" (mantido)
|
| gender | Gênero |
"Masculino" (mantido)
|
Quando a Normalização Acontece
A normalização é aplicada automaticamente nos seguintes endpoints:
| Endpoint | Método | Descrição |
|---|---|---|
| /users | POST | Criação de usuários |
| /users/{id} | PUT | Atualização de usuários |
Fluxo: Dados de entrada → Normalização → Validação → Salvamento no banco
Benefícios do Sistema
Para o Usuário
- • Pode digitar em qualquer formato
- • Não precisa se preocupar com maiúsculas/minúsculas
- • Interface mais amigável
Para o Sistema
- • Dados consistentes e padronizados
- • Facilita buscas e relatórios
- • Melhora qualidade dos dados