Skip to content

Taker-Academy/spotiflyx-spotleflix

 
 

Repository files navigation

Spotiflyx 📼

taker academy logo

Introduction 🎤

Bon, comment vous dire...

🎉 Félicitations 🎉 pour votre promotion en tant que CEO de l'entreprise KeDuBaK et pour le lancement du nouveau projet, Spotiflyx !

Spotiflyx est un service de streaming musical permettant aux utilisateurs d'écouter de la musique en ligne via l'API de Spotify. Mais ce n'est pas tout ! Spotiflyx offre également la possibilité aux utilisateurs de regarder des vidéos YouTube directement depuis le site. C'est une idée géniale, et votre objectif est de faire de Spotiflyx le nouveau leader du streaming vidéo-musical !

logo spotiflyx

Objectif du projet 🎯

  • Réaliser une application web complète en utilisant les technologies modernes du web
  • Mettre en pratique les connaissances acquises au cours de la formation
  • Travail en équipe
  • Découvrir les bases d'implémentation d'API externes
  • Construire un serveur robuste et sécurisé
  • Découvrir les bases de données SQL
  • Réaliser un projet complet de A à Z à partir d'une liste de users stories

Instructions 📚

Afin de garantir le succès du projet, vous avez décidé de constituer une nouvelle équipe de développeurs. Vous ne souhaitez pas répéter les mêmes erreurs que Stéphane et préférez travailler avec une équipe. Vous serez donc deux : vous-même et votre nouveau développeur, qui sera votre bras droit sur le projet.

Vous avez rapidement rédigé une liste de users stories pour le projet. Ci-dessous, vous trouverez tout ce que vous attendez de ce projet :

Users stories 📝

Authentification

  • En tant qu'utilisateur, je veux pouvoir m'inscrire sur le site en renseignant une adresse e-mail et un mot de passe.
  • En tant qu'utilisateur, je veux pouvoir me connecter au site en renseignant une adresse e-mail et un mot de passe.
  • En tant qu'utilisateur, je veux pouvoir me déconnecter du site.
  • En tant qu'utilisateur, je veux pouvoir modifier mon mot de passe en renseignant mon ancien mot de passe et mon nouveau mot de passe.
  • En tant qu'utilisateur, je veux pouvoir supprimer mon compte.
  • En tant qu'utilisateur, je veux pouvoir recevoir un e-mail de confirmation lors de mon inscription.
  • En tant qu'utilisateur, je veux pouvoir recevoir un e-mail de confirmation lors de la modification de mon mot de passe.
  • En tant qu'utilisateur, je veux pouvoir recevoir un e-mail de confirmation lors de la suppression de mon compte.

Page d'accueil

  • En tant qu'utilisateur, je ne veux pas pouvoir accéder à la page d'accueil si je ne suis pas connecté.
  • En tant qu'utilisateur, je veux pouvoir accéder à la page d'accueil en cliquant sur le logo du site en haut à gauche de la page.
  • En tant qu'utilisateur, je veux avoir un message me souhaitant la bienvenue sur le site lorsque je me connecte.
  • En tant qu'utilisateur, je veux pouvoir voir à gauche de la page d'accueil une liste des 3 dernières vidéos ajoutées sur le site, et à droite une liste des 3 dernières musiques ajoutées sur le site.
  • En tant qu'utilisateur, je veux pouvoir voir une barre de recherche en haut de la page d'accueil.
  • En tant qu'utilisateur, je veux pouvoir rechercher une musique ou une vidéo en renseignant le nom de la musique ou de la vidéo dans la barre de recherche.
  • En tant qu'utilisateur, je veux voir apparaître les résultats de ma recherche sur la page d'accueil en petite bannière en dessous de la barre de recherche. Cette bannière contiendra le nom de la musique ou de la vidéo, ainsi que son type (musique ou vidéo).
  • En tant qu'utilisateur, je veux pouvoir cliquer sur une bannière de recherche pour accéder à la page de la musique ou de la vidéo.

Page de création de média

  • En tant qu'utilisateur, je veux pouvoir créer un nouveau contenu de type "musique" ou bien "vidéo" depuis une page prévue à cet effet
  • En tant qu'utilisateur, je veux avoir accès à un formulaire me permettant d'ajouter un contenu avec les inputs suivants:
    • radiobox: "vidéo" / "musique"
    • "nom": Nom du média
    • "lien": Lien permettant de récuperer le contenu depuis l'API corréspondante

Page de musique ou de vidéo

  • En tant qu'utilisateur, je ne veux pas pouvoir accéder à la page d'une musique ou d'une vidéo si je ne suis pas connecté.
  • En tant qu'utilisateur, je veux pouvoir accéder à la page d'une musique ou d'une vidéo en cliquant sur une bannière de recherche.
  • En tant qu'utilisateur, je veux pouvoir voir le nom de la musique ou de la vidéo sur la page.
  • En tant qu'utilisateur, je veux pouvoir voir le nom de l'artiste de la musique ou de la vidéo sur la page.
  • En tant qu'utilisateur, je veux pouvoir liker une musique ou une vidéo.
  • En tant qu'utilisateur, je veux pouvoir supprimer mon like d'une musique ou d'une vidéo.
  • En tant qu'utilisateur, je veux pouvoir voir le nombre de likes d'une musique ou d'une vidéo.
  • En tant qu'utilisateur, je veux pouvoir ajouter une musique ou une vidéo à mes favoris.
  • En tant qu'utilisateur, je veux pouvoir supprimer une musique ou une vidéo de mes favoris.
  • En tant qu'utilisateur, je veux pouvoir voir la vidéo YouTube de la page.
  • En tant qu'utilisateur, je veux pouvoir jouer la musique de la page.
  • En tant qu'utilisateur, je veux pouvoir mettre en pause la musique de la page.

Page de profil

  • En tant qu'utilisateur, je ne veux pas pouvoir accéder à la page de profil si je ne suis pas connecté.
  • En tant qu'utilisateur, je veux pouvoir accéder à la page de profil en cliquant sur le bouton "Mon compte" en haut à droite de la page.
  • En tant qu'utilisateur, je veux pouvoir voir mon email sur la page de profil.
  • En tant qu'utilisateur, je veux pouvoir modifier mon mot de passe sur la page de profil.
  • En tant qu'utilisateur, je veux pouvoir supprimer mon compte sur la page de profil en renseignant mon mot de passe.

Page de mes musiques et vidéos favorites

  • En tant qu'utilisateur, je ne veux pas pouvoir accéder à la page de mes musiques et vidéos favorites si je ne suis pas connecté.
  • En tant qu'utilisateur, je veux pouvoir accéder à la page de mes musiques et vidéos favorites en cliquant sur le bouton "Mes favoris" dans la navbar à gauche de la page.
  • En tant qu'utilisateur, je veux pouvoir voir la liste de mes musiques et vidéos favorites sur la page.
  • En tant qu'utilisateur, je veux pouvoir cliquer sur une musique ou une vidéo de la liste pour accéder à la page de la musique ou de la vidéo.

Stack technique

  • Frontend: Libre (React, Vue, Angular...)
  • Backend: Libre (API REST, Asynchrone)
  • Base de données: Libre (SQL) [MongoDB interdit]
  • Docker: Obligatoire

Contraintes techniques 🛠️

  • Le projet doit être réalisé en équipe de 2 personnes
  • Le projet doit être réalisé en utilisant les technologies modernes du web
  • Le projet doit être réalisé en utilisant une base de données SQL
  • Le projet doit être réalisé en utilisant Docker
  • Le projet doit utiliser l'API de Spotify
  • Le projet doit utiliser l'API de YouTube
  • Tous les secrets (clés API, mots de passe, etc...) doivent être stockés dans des variables d'environnement (fichier .env)

Resources 📚

Les livrables attendus 📦

  • Votre repository avec le code source.
  • Vos fichiers Docker /!\

Deadline ⏳

Vous avez jusqu'au 12 Mai 2024, 23h42 pour rendre votre projet.

Bon courage et bon code ! 💪

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 57.9%
  • JavaScript 41.5%
  • CSS 0.6%