Gestion de CVs
Sommaire
Introduction
Le but de cette page est de présenter le projet qui va servir de base à votre évaluation dans l'unité d'enseignement Architecture des applications.
Cahier des charges
L'objectif du mini projet est simple : gérer à l'aide de la technologie JEE une liste de CVs. Plus précisément,
- Chaque personne est représentée par un ensemble d'informations : nom, prénom, adresse électronique, site WEB, date de naissance et mot de passe.
- Chaque personne peut renseigner un
curriculum vitae. Pour notre application, un CV est une
liste d'activités. Chaque activité est décrite par
- une année (obligatoire),
- une nature (expérience professionnelle, formation, projets, autre) (obligatoire),
- un titre (obligatoire) ,
- un texte descriptif (facultatif),
- une adresse WEB (facultatif),
- La liste des personnes et les CV sont librement consultables. La modification implique une phase d'authentification afin que chaque personne ne puisse modifier que son CV.
- Chaque personne connue (après authentification) peut créer de nouvelles personnes (cooptation).
- Le logiciel doit être capable de gérer environ 100.000 CV.
Étape 1 : Couche données
Travail à
faire :
- Préparer les entités pour représenter les données métier.
- Construire les repositories Spring-Data.
- Construire les tests unitaires sur les opérations CRUD.
Partie à rendre sur AMETICE avant le dimanche 27 octobre 2024, 23:59.
Étape 2 : Métier (Spring/API-Rest/Junit)
Travail à
faire :
- Réaliser d'une couche métier accompagnée de ses tests unitaires.
- Prévoir une API Rest (à la main sans Spring Data Rest) pour les actions CRUD (create/read/update/delete) sur les personnes et les activités.
- Prévoir les fonctions de recherche d'une personne sur une partie du nom, du prénom ou le titre d'une activité.
Étape 3 : Authentification
Travail à
faire :
- Prévoir un système d'authentification par jeton JWT pour les opérations de modification.
Étape 4 : Présentation (VueJS/Bootstrap)
Travail à
faire : Mettre en place une application WEB
basée sur la technologie VueJS/Bootstrap qui respecte
les contraintes suivantes :
- Organisation de l'application en quatre parties (parcours des CV, authentification, modification d'un CV, création d'une personne).
- Utilisation de routes multiples pour chaque partie.
Échéances
Ce projet est à rendre, par équipe de deux personnes, pour le dimanche 24 novembre 2024 23h58.
Travail à
faire : Une archive ZIP (de la forme
NOM1_prenom1-NOM2_prenom2.zip) qui
regroupe
- un cahier des charges et un rapport technique (fichier rapport.pdf de moins de 10 pages),
- votre projet maven (répertoire projet dans lequel les commandes mvn clean, mvn package doivent fonctionner),
- le package de votre application (fichier myapp.war obtenu par mvn package dans le répertoire de votre projet). Attention : vous devez utiliser une BD en mémoire afin que je puisse tester votre application sans difficulté (il faut donc prévoir une opération de peuplement).