Développe le backend d'un projet avec un framework
.
Projet : Where is my Band
Lors de cet échange, le client a présenté le concept de la plateforme Where is my Band, destinée à mettre en relation des musiciens et des groupes de musique.
Le site vise à répondre à deux besoins principaux :
- Permettre aux musiciens de rechercher des groupes à rejoindre
- Permettre aux groupes de publier des annonces pour recruter des musiciens
Ainsi, la plateforme s'adresse à deux types d'utilisateurs distincts : les musiciens et les groupes.
a. Compte musicien Pour s'inscrire, un musicien devra fournir les informations suivantes :
- Une adresse email (unique)
- Un mot de passe
- Sa ville
- Un ou plusieurs instruments, sélectionnés dans une liste prédéfinie
Il faut noter qu'un musicien pourra être membre de plusieurs groupes.
b. Données liées aux instruments Chaque instrument est défini uniquement par son nom.
c. Compte groupe Un groupe devra également créer un compte en renseignant :
- Une adresse email (unique)
- Un mot de passe
- Le nom du groupe
- Une description
- Une bannière (image)
- Sa ville
- Un lien vers le site du groupe (optionnel)
- La liste des membres du groupe (sélectionnés parmi les musiciens inscrits sur la plateforme)
Les groupes auront la possibilité de publier des annonces afin de recruter des musiciens. Chaque annonce portera sur la recherche d'un seul musicien et devra contenir :
- Le type de musicien recherché (choisi dans une liste prédéfinie)
- Une description de l'annonce
- Réalise la modélisation de la base de données afin de représenter les entités identifiées dans le compte rendu d'entretien
- Initialise un projet Spring Boot (Spring Web, Spring Data JPA et drivers PostgreSQL)
- Liste les routes d'API nécessaires au fonctionnement de l'application
- Écris le code nécessaire au fonctionnement de l'application, à l'exception de la partie concernant la connexion des utilisateurs
En autonomie ou en équipe, au choix
Il sera évalué que les éléments suivants ont été réalisés :
- les MCD et MLD
- une documentation contenant la liste des endpoints
- une application fonctionnelle hébergée sur un dépôt distant
Lien vers un dépôt distant
.