dizifymusic's People
dizifymusic's Issues
Gestion de la sécurité - Implémenter un système de jeton JSON Web Token (JWT) pour sécuriser les appels au WebService
Fonctionnalités à implémenter - En tant qu’utilisateur, je veux pouvoir ajouter un Artiste, un Album ou un Titre dans mes Favoris
Je veux également pouvoir supprimer un favori
Contenu Media / Image - Pour les plus motivés, référencer dans la base une image sur votre système de fichiers
- Pas de contenu Image stockée au sein même de la base de donnée façon
BLOB - Toujours utiliser une URI pointant vers votre image en local
Fonctionnalités à implémenter - Page de listing des Albums
- Afficher quel est l’Artiste à l’origine de l’Album
- Afficher ses Titres dans une section
Mettre à jour le wiki de la base avant le rendu final
Requêtes + Schéma + PDF
Connexion à la base de données MariaDB
Gestion des rôles - Un utilisateur ne peut consulter le contenu d’un autre utilisateur
Fonctionnalités à implémenter - Page d’accueil en mode publique, sans authentification
- Afficher 3 Artistes (en aléatoire pour plus de simplicité)
- Idem pour les Albums
Fix CSS on carousel
Carousel should display multiple elements and arrows
Fonctionnalités à implémenter - Page de listing des Playlist
Pour aller plus loin - Implémenter les fonctionnalités suivantes
- Afficher un Top Artiste / Album / Titre en fonction du nombre de Favoris sur la page d’Accueil : Top individuel ou global à tous les utilisateur, au choix
- Afficher une zone de recherche dans le haut du site : Rechercher un type d’entité en particulier (grâce à groupe de boutons exclusifs pour Artiste / Album / Titre) / Présenter les résultats dans une drop-down liste
- Rendre le projet disponible sur Internet
- Intégrer une usine logicielle : But : automatiser le déploiement au commit
Gestion des rôles - Un administrateur n’est pas un utilisateur et ne peut pas créer du contenu type Playlist / Favori
Modèle relationnel attendu - Table Artistes
Contient un ensemble d’artistes identifés par un Nom (ou alias) et une Image.
Modèle relationnel attendu - Table Administrateur
Contient des utilisateurs spéciaux qui peuvent ajouter du contenu : Artiste, Album et Titre
Modèle relationnel attendu - Table Favoris
Contient un ensemble d’items variés (Artistes, Albums ou Titres) qu’un utilisateur a aimé.
Modèle relationnel attendu - Table Albums
Contient un ensemble d’albums identifiés par un Nom, une Date, une Image et un Auteur (pas de modèle complexe type Compilation).
Gestion des rôles - Un Administrateur est créé à la main par le super-administrateur dans la base de données
Gestion de la sécurité - Les actions de l’Utilisateur effectuées côté Client doivent être vérifiées côté Serveur
-
Par exemple, pour la suppression d’une Playlist :
-
DELETE /user/{userId}/playlist/{playlistId}
-
Vérifier côté serveur que le user ID du jeton et le user ID demandé dans l’URL sont identiques pour autoriser la suppression
Fonctionnalités à implémenter - Page de recherche
Gestion des rôles - Un administrateur peut ajouter du contenu de type Artiste / Album / Titre
Il peut également modifier / supprimer ce contenu
Fonctionnalités à implémenter - En tant qu’utilisateur, je veux pouvoir ajouter des Titres dans des Playlists
Je veux également pouvoir supprimer une playlist
Contenu Media / Image - Pour utiliser des images externes et ne pas s’embêter avec cette gestion d’images, utiliser les services suivants
- API pour les Aristes / Avatars : https://pravatar.cc/
- API pour les pochettes d’Albums : https://picsum.photos/
- Ou autre !
Gestion des rôles - Un utilisateur doit être authentifié pour créer du contenu qui lui est propre
Fonctionnalités à implémenter - Page de listing des Artistes
- Afficher ses Albums dans une section
- Afficher ses Titres dans une autre section
Pagination - Implémenter une gestion de la pagination
- Soit avec « page 1, page 2, …, page N-1, page N »
- Soit en mode Infinite Scrolling
Fix CSS on artist and album list
Cards should have space beetween
Gestion des rôles - Un Utilisateur doit pouvoir créer un compte en automie avec son adresse email
*Pas de gestion réelle des emails à prévoir : on se servira juste de l’email pour ajouter un nouvel utilisateur (email = clé primaire unique)
*Pas de suppression de compte, d’anonymisation ou de RGPD à implémenter
Modèle relationnel attendu - Table Playlist
Contient un ensemble de Titres qu’un utilisateur a choisi pour construire des playlists personnalisées.
Modèle relationnel attendu - Table Titre
Contient un ensemble de titres, identifiés par un Nom, une Durée, un Auteur et un Album ou non (pour les EP, Single, titres exclusifs).
Contenu Media / Image - Pour les images à afficher, partir soit sur une API externe pour afficher des images aléatoires
Fonctionnalités à implémenter - En tant qu’utilisateur, je veux pouvoir changer mon Avatar
Je veux également pouvoir supprimer mon Avatar
Gestion de la sécurité - Les actions de l'Administrateur effectuées côté Client doivent être vérifiées côté Serveur
- Par exemple, pour la suppression d’une Playlist :
- DELETE /user/{userId}/playlist/{playlistId}
- Vérifier côté serveur que le user ID du jeton et le user ID demandé dans l’URL sont
identiques pour autoriser la suppression
Jeu de données + clean code
Modèle relationnel attendu - Table Utilisateur
Contient un ensemble d’utilisateurs du service identifiés par une adresse Email au minimum. On peut ajouter d’autres champs type Avatar, Pseudo.
Fonctionnalités à implémenter - Page de listing des Favoris
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.