Skip to content

Instantly share code, notes, and snippets.

@bastienapp
Last active June 28, 2023 10:17
Show Gist options
  • Save bastienapp/067787ac3fdb3edfadfca65b9fb2e349 to your computer and use it in GitHub Desktop.
Save bastienapp/067787ac3fdb3edfadfca65b9fb2e349 to your computer and use it in GitHub Desktop.
Where is my band?

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.

Ce que tu dois faire :

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment