development-phase · completed
Fase 01 — Fundação de dados
Checklist da fundação de dados, enums, migrations, modelos e catálogos básicos.
Base já existente
- Migration base de usuários.
- Migration base de cache.
- Migration base de filas.
- Migration base de auditoria.
- Migration base de mídia.
- Decidir que não haverá migration de permissões; autorização será por vínculos, Gates e Policies.
Dados cadastrais
- Criar e testar as classes dos enums estáveis; a integração com Models, migrations e fluxos continua nas etapas específicas.
- Concluir
cities, executarphp artisan cities:fetchquando necessário e carregar o catálogo comCitySeedersem rede. - Implementar a base backend de
addresses, incluindo cópia histórica. - Implementar consulta de CEP no futuro fluxo de cadastro; endereço segue o contrato atual sem validação de formato do CEP.
- Concluir
user_personal_data. - Concluir
campuses. - Concluir
affiliations. - Concluir
courses. - Concluir
course_idem affiliations. - Concluir
internship_types. - Concluir
granting_parties. - Concluir
holidays. - Concluir exceções por estágio em
internship_calendar_overrides.
Regras de dados
- Preservar linhas de endereço usadas historicamente; alterações criam nova linha quando necessário.
- Garantir CPF único e normalizado na conta.
- Impedir alteração do CPF em futuros fluxos de configuração da conta; pertence à Fase 02.
- Normalizar CPF, CNPJ, UF e e-mails pelos casts e validações aplicáveis; CEP não tem validação de formato.
- Permitir múltiplos vínculos por pessoa sem trocar campus dentro do vínculo.
- Exigir curso em vínculo discente e respeitar escopo do campus.
- Congelar regras do tipo de estágio por FK e snapshot no estágio.
- Criar factories e testes para cenários completos, incompletos, ativos e desativados.
Componentes que sustentam a fundação
- Confirmar casts nos Models corretos.
- Usar helpers somente para formatação/normalização, sem regra de autorização.
- Reutilizar concerns para validações compartilhadas.
- Criar testes PostgreSQL para as migrations e Models; lacunas de autorização e fluxos estão mapeadas em testes existentes.
Critério de saída
- As migrations implementadas passam na suíte PostgreSQL e seus Models, relações, casts, índices e validações têm testes.