022026

Overkill

agrégateur d’offres

Agrégateur d’offres d’emploi, de stage et d’alternance construit en équipe : API Symfony, front React, base PostgreSQL. Ma part couvre les offres et les favoris : contrôleurs, DTO de validation, recherche filtrée et pagination.

  • Contrôleurs des offres et des favoris
  • DTO de validation des données entrantes
  • Recherche filtrée et pagination

La démarche

Le besoin

Overkill rassemble au même endroit les offres d’emploi, de stage et d’alternance.

Ma part

J’ai eu les offres et les favoris. Le contrôleur des offres porte les routes du domaine : lecture filtrée, lecture par identifiant, création, suppression.

Choix importants

Le DTO est la frontière du domaine. Les offres n’arrivent pas d’un formulaire mais d’un collecteur, donc personne ne relit ce qui entre : le titre est obligatoire et borné, le type ne peut valoir que trois valeurs, le pays est un code à deux lettres, les coordonnées doivent tenir dans leurs plages. Le JSON est validé avant d’atteindre la base, jamais après.

Comment ça tourne

C’est un projet d’équipe : une API Symfony, un front React, une base PostgreSQL, le tout monté sous Docker. On s’est réparti l’API par domaine.

La recherche accepte des critères cumulables — texte libre, ville, entreprise, contrat, type, télétravail, salaire minimum, catégorie —, les pagine, et ne remonte que les offres publiées dans les trente derniers jours, parce qu’une annonce périmée dans un agrégateur est pire qu’une absence de résultat. Le contrôleur des favoris tient les siennes sur l’utilisateur connecté.