Contexte du projet Dans le Cadre de son développement, le cabinet MyRH souhaite simplifier la recherche d'emploi pour toutes les marocaines et marocains, pour cela il vous demande de créer une application web qui sera utilisée par les recruteurs et les chercheurs d'emploi.
Chaque recruteur est une société caractérisée par un identifiant, login, mot de passe, adresse, email, numéro de téléphone et une image qui va être affichée sur chaque offre d'emploi crée par cette société.
l'inscription est valable seulement pour les sociétés, chaque inscription passe obligatoirement par un code de validation valable 3 min pour la confirmation de son inscription via un email/sms
pour ajouter une offre d'emploi la société doit fournir un titre pour cette annonce, une description détaillée, le profil recherché(exemple: développement web, comptabilité...), la ville, le niveau d'étude ( exemple: Bac+2, Bac+3...) pour le salaire reste facultatif pour l'ajouter
Chaque offre d'emploi ajoutée par une société est soumise à la validation par un seul Agent (déjà crée dans le système du cabinet MyRH, il peut accépter ou refuser l'offre, un email est envoyé par la suite à la société
vous pourvez s'inspirer du site marocannonces pour l'affichage des offres d'emploi
pour une meilleure ergonomie, le cabinet MyRH souhaite faire une pagination de 10 offres maximum par page et aussi utiliser la même charte graphique du site marocannonces.com avec un filtre de recherche pour trouver l'offre convenable rapidement
Travail demandé
Créer le diagramme de classe et cas d'utilisation adéquat
Création de fivhier trellp/jira pour la gestion du projet
Créer l'API en utilisant springboot
Stocker vos données à l'aide de PostgreSQL
Ajout des testes unitaires pour la validation de l'offre d'emploi
consommer votre Api en Angular en utilisant les Stateless et Stateful
Modalités pédagogiques travail individuel
Date Début: 18/12/2023
Date Fin: 29/12/2023 à 23h:59
(10 jours)
Modalités d'évaluation Présentation de 30 minutes : 10 minutes : Démonstration des fonctionnalités de l'application. 10 minutes : Explication du code et de son organisation ainsi que la modélisation. 5 minutes : Mise en situation. 5 minutes : évaluation des savoirs(Q/A)
Livrables lien github de l'application
Critères de performance Application structurée en couches Respect des conventions d'appellation des attribut et méthodes Gestion des exceptions Utilisation de SpringBoot Utilisation d'Angular (Stateless et Stateful) Utilisation Observables avec Spring Boot Utilisation de l'injection de dépendance et inversion de contrôle Utilisation d'Hibernate Validation des données Respect maximal des principes SOLID Bonne maitrise et compréhension des concepts implémentés