Le site Where is My Band s'adresse à deux profils :
- des musiciens qui s'inscrivent pour rechercher de groupes
- des groupes qui s'inscrivent pour poster des annonces de recherche de musiciens
Un musicien devra créer un compte avec les informations suivantes :
- un email (unique)
- un mot de passe
- sa ville
- son ou ses instruments (choisi dans une liste déjà existante)
Un instrument possède juste un nom.
Un groupe devra créer un compte avec les informations suivantes :
- l'email du groupe (unique)
- un mot de passe
- le nom du groupe
- une description
- une bannière (image)
- sa ville
- le lien (optionnel) vers le site du groupe
- la liste de ses membres (parmis les musiciens inscrits sur le site)
Un groupe pourra créer une annonce de recherche d'un seul musicien (un seul musicien recherché par annonce, basé sur un instrument), avec les informations suivantes :
- le type de musicien recherché (sélection dans une liste d'instrument)
- la description de l'annonce
Un groupe peut créer plusieurs annonces.
Dans la première version du site, les musiciens pourront directement contacter le groupe par l'email : pas besoin de mettre en place une messagerie interne.
Un musicien peut appartir à plusieurs groupes.
- Réaliser la modélisation de la base de données afin de représenter les entités identifiées dans le brief
- Faire valider la modélisation par votre formateur⋅trice
- Initialiser un projet Spring Boot (Spring Web, JPA, et drivers MySQL / MariaDB / PostgreSQL selon le SGBD choisi)
- Créér l'entité représentant un groupe (dans un premier temps, sans ses membres)
- Créer un CRUD permettant de : créer un groupe, rechercher tous des groupes, recherche un groupe par son identifiant, modifier un groupe, supprimer un groupe
- Ajouter une route d'API permettant de rechercher un groupe par sa ville
- Créer l'entité représentant une annonce, et faire la relation avec un groupe
- Ajouter la route d'API permettant de créer une annonce
- Créér l'entité représentant un musicien, et ajouter la relation avec un groupe (qui représentera les membres du groupe)
- Ajouter la route d'API permettant d'ajouter un musicien à un groupe