StageFull-stackNext.jsNestJS

ATS Système de gestion de recrutement

Projet développé durant un stage à la Mairie de Montauban. ATS complet intégrant un portail candidat et un back-office RH pour gérer offres, candidatures et workflow de recrutement.

Côté RH

Gestion des candidatures

Interface RH dédiée à la centralisation des candidatures, au suivi des statuts et à la prise de décision tout au long du processus de recrutement.

Côté candidat

Espace candidat

Espace candidat permettant de consulter les offres, déposer une candidature, gérer les documents et suivre l’avancement du dossier.

Détails techniques

Notes synthétiques : architecture, accès, intégrations et flux applicatifs.

Frontend

Next.js App Router, UI Tailwind, pages orientées contenu.

API

NestJS, endpoints REST pour offres, candidatures et workflow.

Services

PostgreSQL, SMTP pour notifications, LDAP pour annuaire interne.

Architecture : Next.js (front) + API NestJS séparée

RBAC : candidats / RH / admin (routes protégées)

Gestion des candidatures : statuts, historique, traçabilité

Documents candidats : upload, métadonnées, contrôle d’accès

Intégrations : SMTP (notifications) + annuaire LDAP

Base PostgreSQL + modèles relationnels

Décisions techniques

Implémenté
  • Authentification centralisée via Keycloak (OIDC) intégrée à NextAuth
  • Gestion des rôles et accès (RBAC) pour candidats, RH et administrateurs
  • Notifications email via serveur SMTP interne
  • API REST NestJS avec validation et gestion des erreurs

MVP initial (non livré)

Prévu
  • Refactorisation du back-end vers une architecture hexagonale (prévue dans le périmètre du MVP)
  • Objectif : modularité accrue, testabilité et séparation claire des responsabilités
  • Non implémentée dans le temps imparti du stage

Extensions produit

Envisagé
  • Intégration de plateformes externes (LinkedIn, Indeed)
  • Parsing de CV et extraction de mots-clés pour la pré-qualification des candidatures
  • Recherche de profils candidats via plateformes professionnelles
  • Authentification sociale pour les candidats (Google, LinkedIn)