HTML estilizadov10Sem dependência externa

RH — Ficha de Admissão

Objetivo

Sistema de ficha admissional para novos colaboradores da MotionFit. Entrega formulário público, upload de documentos, foto de perfil, painel admin, edição, status, diagnóstico e geração de PDF.

Caminho e URL

  • Caminho no ZIP: admissoes/
  • URL de produção documentada: https://rh.motionfitacademia.com.br/admissoes/public/
  • Front controller: admissoes/public/index.php
  • Rotas: admissoes/routes/web.php

Arquitetura

  • MVC próprio em PHP.
  • Controllers em app/Controllers.
  • Models em app/Models.
  • Views em app/Views.
  • Core em core/.
  • Configurações em config/app.php e .env.
  • Storage em storage/uploads e storage/dompdf.

Principais recursos

  • Ficha pública responsiva.
  • Validação backend de CPF, CNPJ, datas, UF, upload e campos obrigatórios.
  • Documentos em etapas: ficha inicial, documentos e foto de perfil.
  • Campos condicionais para professores, estagiários, dependentes, vale-transporte e dados acadêmicos.
  • Painel admin com login, listagem, filtros, detalhes, edição, status, anexos e PDF.
  • Usuários admin e operador.
  • Tela /admin/diagnostico para validar ambiente, banco, storage, rotas e Dompdf.

Perfis

Perfil Permissão
admin Acesso total ao painel, diagnóstico e usuários.
operador Acesso às admissões e operações de RH, sem gerenciar usuários/diagnóstico.

Status da ficha

recebido, em_analise, pendente, aprovado, enviado_contabilidade, demitido, cancelado.

Regras importantes

  • Unidade São Bernardo aparece como unidade desabilitada no config e não deve entrar no fluxo ativo.
  • Agência e conta não devem ser exigidas no formulário quando a regra operacional for pagamento via Pix.
  • Estágio deve abrir seção acadêmica apenas quando a regra do cargo/estudante exigir.
  • Professor possui campos específicos como CREF e MEI/CNPJ.
  • Dompdf depende de composer install e escrita no storage.

Arquivos principais

Arquivo Responsabilidade
app/Controllers/AdmissionController.php Fluxo público: criar ficha, salvar, documentos, foto e sucesso.
app/Controllers/AdminAdmissionController.php Painel admin: listar, visualizar, editar, status, imprimir, PDF, anexos e exclusão.
app/Controllers/AdminUserController.php CRUD de usuários do painel.
app/Support/AdmissionPdf.php Geração do PDF final.
app/Support/AdmissionForm.php Campos, listas, limites e tipos aceitos.
app/Support/Diagnostics.php Checklist do sistema.
core/Upload.php Armazenamento seguro dos anexos.
database/schema.sql Estrutura relacional do módulo.

Deploy recomendado

  1. Enviar código sem .env real.
  2. Copiar .env.example para .env no servidor.
  3. Ajustar banco, APP_URL, APP_KEY e limites de upload.
  4. Rodar database/schema.sql em instalação nova.
  5. Rodar patches se for instalação existente.
  6. Rodar php scripts/preflight.php --http.
  7. Validar /admin/diagnostico.

Scripts úteis

  • scripts/preflight.php --http
  • scripts/seed_homologation.php --force
  • scripts/run_smoke.php
  • scripts/test_all.php
  • scripts/cleanup_homologation.php --force
  • scripts/patch_admin_roles.php --force
  • scripts/patch_admission_internal_fields.php --force