Skip to content

v1.2.0 — recrutamento com currículo em S3, ciclo de vida e busca

Choose a tag to compare

@thomneuenschwander thomneuenschwander released this 06 Sep 20:49
· 3 commits to main since this release
1243404

Primeira release com o módulo de recrutamento completo: currículo em S3, ciclo de vida do processo seletivo e busca de inscrições.

Novidades

Currículo do candidato em bucket S3 privado — upload pelo formulário público, validação do conteúdo do PDF (não confia em extensão nem em MIME), antivírus e URL pré-assinada de validade curta. O bucket nunca fica público.

Módulo de email — porta Mailer, templates versionados e entrega só depois do commit da transação, para ninguém receber "inscrição confirmada" de uma inscrição que não passou.

Notificação de inscrição para quem tem recruitment:read, resolvida em consulta de lote. Alumni ficam de fora.

Ciclo de vida do processo seletivo — opens_at, closes_at, result_at e o estado IN_REVIEW. O processo para de aceitar inscrição fora do prazo sem depender de alguém lembrar de fechar e sem job agendado.

Listagem de processos paginada, com filtro por status efetivo e métricas agregadas (application_count, last_application_at).

Curso e período tipados — curso sai do catálogo da EJ, período vira número, e o processo pode declarar a faixa que aceita (min_term/max_term).

Busca de inscrições por nome ou e-mail ignorando acento, dentro de um processo e no histórico inteiro da EJ.

Correção: upload acima do limite agora devolve 413 em vez de derrubar a conexão.

Banco

Migrations V11 a V16. Requer as extensões unaccent e pg_trgm (já instaladas em produção antes desta release).

A V11 não é aditiva: renomeia candidacies para candidate_applications, migra os dados de candidates para dentro e remove as tabelas candidates e candidate_links.

Verificação

170 testes, 0 falhas — rodados também contra postgres:15-alpine, a mesma imagem de produção.