HTML estilizadov10Sem dependência externa

RH — Trabalhe Conosco

Objetivo

Aplicação de recrutamento para receber candidaturas, armazenar currículos e permitir que RH/Admin acompanhe o processo seletivo.

Caminho e URL

  • Caminho no ZIP: MT1/trabalhe_conosco/
  • URL documentada: https://rh.motionfitacademia.com.br/MT1/trabalhe_conosco/
  • Formulário público: candidato/index.php
  • Painel RH: rh/index.php
  • Painel Admin: admin/index.php

Recursos

  • Formulário público mobile-first.
  • Upload de currículo/arquivo do candidato.
  • Validação de unidade e cargo ativos.
  • LGPD com aceite obrigatório.
  • Hash de IP com APP_KEY.
  • Painel RH com filtros, status, detalhes, visualização e download.
  • Admin para usuários, unidades e cargos.
  • Logs em logs/app.log.
  • CSS/JS locais sem CDN em produção.

Perfis

Perfil Permissão
admin Acesso ao painel admin, usuários, unidades, cargos e área RH.
rh Acesso operacional às candidaturas e currículos.

Fluxo do candidato

  1. Candidato acessa candidato/index.php.
  2. Preenche nome, e-mail, telefone, unidade, cargo, experiência e demais campos opcionais.
  3. Aceita LGPD.
  4. Envia currículo/arquivo.
  5. O sistema salva arquivo em storage/curriculos/YYYY/MM.
  6. Cria registro em candidates com status novo.
  7. Registra histórico em candidate_status_history.

Exportação correta de currículos

Este módulo foi corrigido para não gerar ZIP pesado. O fluxo correto é:

  1. RH filtra por unidade/cargo/status.
  2. Marca os currículos desejados.
  3. Clica em Exportar PDFs selecionados.
  4. O sistema abre uma página com downloads individuais.
  5. Cada arquivo deve sair como PDF real no padrão nome-sobrenome.pdf.

A configuração EXPORT_MAX_SELECIONADOS limita a quantidade por lote para reduzir risco de 504/Gateway Timeout.

Conversão para PDF

  • PDF original é enviado com header application/pdf.
  • Imagens podem ser convertidas para PDF quando a extensão GD está ativa.
  • Arquivo inexistente em storage/curriculos deve retornar mensagem clara.
  • Formatos não suportados para conversão devem retornar 415 ou motivo claro.

Arquivos principais

Arquivo Responsabilidade
candidato/salvar.php Valida e grava candidatura, currículo, LGPD e histórico.
rh/index.php Lista e filtra candidatos para RH.
rh/candidato.php Detalhe, observações e mudança de status.
rh/baixar_curriculo.php Download seguro e geração/normalização do PDF.
rh/exportar_curriculos.php Tela de seleção para exportação.
rh/exportar_curriculos_selecionados.php Manifesto de downloads individuais, sem ZIP.
admin/usuarios.php Gestão de usuários admin/rh.
admin/unidades.php Gestão de unidades.
admin/cargos.php Gestão de cargos.
sql/otimizar-exportacao-curriculos.sql Índices/ajustes para exportação.

Deploy recomendado

  1. Enviar o código sem .env real.
  2. Garantir escrita em storage/curriculos e logs.
  3. Criar banco no cPanel/UOL e vincular usuário com permissões.
  4. Rodar database.sql em instalação nova.
  5. Acessar install.php apenas para instalar/diagnosticar.
  6. Apagar install.php após instalar.
  7. Conferir EXPORT_MAX_SELECIONADOS, UPLOAD_MAX_MB e extensão GD.

Atenções

  • Não apagar storage/curriculos ao subir atualização.
  • Não reativar exportação ZIP global em hospedagem compartilhada.
  • Não sobrescrever .env real da hospedagem.
  • São Bernardo foi removida da carga de unidades desse módulo.