# Cahier des charges ## 1. Contexte Ce document présente notre cahier des charges pour notre projet d'application web de troisième année en Bachelor Développement logiciel et multimédia. Nous devons réaliser une application Web avec le framework laravel et VueJS, par groupe de 3 étudiants. Ce projet est supervisé par Messieurs MM. David Grunenwald et Wohlfahrt Alexander. ## 2. Objectifs ![](https://i.imgur.com/GEc2PrS.png) ### 2.1 Description L'objectif principal de ce projet est de réaliser une application avec le framework [Laravel](https://laravel.com/). Cette application est basé sur un projet existant du groupe, réalisé lors de la 2e année de la HE-Arc. Le concept de l'application est de permettre une écoute collaborative lors d'un évènement. Pour cela, l'API Spotify est utilisée. Un utilisateur se connecte à son compte Spotify Premium via l'application et mets de la musique sur un haut-parleur. Il crée ensuite une salle d'écoute. Les personnes présentes lors de l'évenement peuvent alors rejoindre la salle grâce au nom de la salle. Ils ont ainsi la possibilité d'ajouter des musiques de leur choix à la liste d'attente du créateur de la salle. Les utilisateurs peuvent également influancer le morceau en cours d'écoute, en votant. ### 2.2 Principaux - Invité - Rejoindre une salle - Ajout de musique à la file - Voter pour passer la musique - Possibilité de créer un compte Sparty - Salle - Titre en cours - Recherche de musique par titre - Utilisateur - Connexion à Spotify - Création d'une salle - Une seule salle par utilisateur - Administration des salles - Mot de passe pour la salle optionel - Passer la musique sans vote - Gestion du nombre de vote requis - Suppression de la salle - Design - Compatible avec mobile - Intuitif ### 2.3 Secondaire - Utilisateur - Recherche dans playlist Spotify - Supression du compte - Salle - Affichage du prochain titre - Administration des salles - Partage d'une salle - Ajouter administrateur de salle ### 2.4 Optionnel - Invité - Recherche avancée - Administration des salles - Gestion du volume - Gestion de la file d'attente - Affichage de la position dans la file - Salle - Affichage des salles publiques ## 3. Besoin et contraintes L’application devra être réalisée avec le framework Laravel en PHP. L'interface utilisera Vue.js. Le projet sera developpé via Github et la base de données contiendra une relation N à N. Une totalité de 90 heures de travail est disponible, soit 30 heures par personnes pour mener à bien ce projet. À la fin du projet, il est demandé de rendre une application fonctionnelle. ## 4. Calendrier - 07 octobre 2021 : début du projet - 21 décembre 2021 : fin du projet ## 5. Points chauds - Design - JavaScript