Gestion de CVs

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 puisse modifier 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

Objectifs :

  • 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 15 octobre 2023, 23:59.

Étape 2 : Métier (Spring/API-Rest/Junit)

Objectifs :

  • 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

Objectifs :

  • Prévoir un système d'authentification par jeton JWT pour les opérations de modification.

Étape 4 : Présentation (VueJS/Bootstrap)

Cette étape consiste à 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 le parcours de la liste des CVs afin de pouvoir manipuler des liens directs vers un CV.

Échéances

Ce projet est à rendre, par équipe de deux personnes, pour le dimanche 26 novembre 2023 23h.

Documents attendus : une archive ZIP (de la forme NOM1_prenom1-NOM2_prenom2.zip) qui regroupe

  • un cahier des charges (fichier CdC.pdf une ou deux pages),
  • un rapport technique (fichier rapport.pdf de moins de 10 pages),
  • votre projet maven (répertoire projet),
  • les commandes mvn clean, mvn package doivent être possibles dans le répertoire projet,
  • le package de votre application (fichier .war obtenu par mvn package dans le répertoire de votre projet), Attention : vous devez utiliser une BD en mémoire pour que je puisse tester votre application sans difficulté (il faut donc prévoir une opération de peuplement).

La forme du rendu doit ABSOLUMENT être respectée. Des soutenances seront organisées. Les travaux sont à rendre sur la plateforme AMETICE.