Deadline :
-
DAWIN Alternants : 09/07/2022
Spécifications
Fonctionnalités
-
Ajout, suppression et édition des informations d’un film
-
Affichage de la liste des films
-
Recherche à l’intérieur des différents paramètres (un seul champ de recherche pour rechercher l’année, le titre, le réalisateur)
-
Pouvoir mettre l’url du poster du film
-
Les pages doivent posséder un style CSS suffisant
Librairie conseillées
-
Vous trouverez beaucoup de composants ici qui pourront vous permettre d’améliorer facilement l’interface : https://github.com/vuejs/awesome-vue#ui-components
-
Vuetify pour l’interface
Objet Film
Voilà les informations de base qui doivent être contenues dans un film (hors notation et image) :
-
Titre
-
Année de sortie
-
Langue
-
Réalisateur
-
Nom / Prénom
-
Nationalité
-
Date de naissance
-
-
Genre du film (Science-Fiction, Historique etc…)
Structure des pages
/ -> Liste des films avec recherche
/movie/:id -> Détails d'un film (avec lien vers édition, suppression, notation)
/movie/:id/edit -> Modification d'un film
Pré-requis
Le projet doit se lancer avec la commande :
$ npm install && npm run serve
Notation
Plusieurs critères seront pris en compte pour la notation :
-
Présence des fonctionnalités demandées
-
Clarté du code
-
Respect des différents concepts Vue.js (découpage en composants, variables computed etc…)
N’hésitez pas à me solliciter par email si vous avez des questions ou si vous êtes bloqués ! (cleriotsimon@gmail.com)
Bonus
Fonctionnalités supplémentaires (== points supplémentaires) lorsque les fonctionnalités décrites ci-dessus sont terminées :
Ajout d’un serveur Node.
-
Stocker la liste des films dans une base de données (attention à me fournir lors du rendu la structure de la base de données ainsi que l’emplacement dans le code des identifiants de la base)
-
Utiliser l’API OMDb API pour récupérer automatiquement le poster (en plus de l’upload d’un poster manuellement)
Librairie conseillées
-
Pour l’upload : https://github.com/expressjs/multer
-
Échanger des données entre Vue.js et Node.js (Ajax) : https://github.com/mzabriskie/axios