Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instructions

Build app

npm install
npm run lint
npm run serve

Dépendances

Customize configuration

See Configuration Reference.

Step 1 : Afficher la météo du jour pour Grenoble

Step 2 : Afficher la météo du jour pour toutes les villes Zenika

  • Pour le moment on affiche uniquement la première ville de la liste dans le composant HomeView, itérer sur la liste pour toutes les afficher (https://vuejs.org/guide/essentials/list)
  • Le paramètre de la route /city est mappé sur les props du composant que l’on peut récupérer avec props.cityName
  • Utiliser les getters du store Pinia pour récupérer les coordonnées de la ville : [latitude, longitude] (https://pinia.vuejs.org/core-concepts/getters)
  • Appeler le service d'API avec les coordonnées de la ville
  • Afficher la ville sur la carte et la météo du jour

Step 3 : Afficher la météo des 7 prochains jours pour chaque ville

  • Via le service d’API récupérer maintenant la météo des 7 prochains jours
  • Binder les données avec le template pour afficher les jours suivants au clic de l’utilisateur

Step 4 : Avoir la possibilité de passer en Fahrenheit

  • Ajouter des radios boutons, checkbox ou n’importe quoi d’autre pour choisir l’unité à afficher
  • Créer un Composable VueJS pour retourner les degrees dans la bonne unité (https://vuejs.org/guide/reusability/composables)
  • Appliquer la fonction de conversion F = C * 9/5 + 32

Step 5 : Ajouter un page pour enregistrer une nouvelle ville

  • Créer un nouveau composant dans le dossier views
  • Créer dans le router une route liée à ce composant
  • Modifier le store pour créer une action pour ajouter la nouvelle ville à la liste existante (https://pinia.vuejs.org/core-concepts/actions)
  • Créer un formulaire avec des inputs pour le nom de la ville, latitude et longitude
  • Mettre des protections sur les inputs (non vide, entre -180 et 180…)
  • Dispatcher l’action créée précédemment lors de l’envoi du formulaire valide

Bonus : Afficher la météo détaillée d'une ville

  • Une seconde API sur 7timer permet d'obtenir une météo plus détaillée avec une prévision toutes les 3 heures (http://www.7timer.info/bin/civil.php?lon=0&lat=0&unit=metric&output=json)
  • Créer un nouveau point d'entrée sur le service d'api pour consommer ces données
  • Afficher le résultat de la météo détaillée sur la page de la ville
  • Ajouter un bouton pour afficher le mode simple ou le mode détaillé
  • Afficher un loader pendant le chargement des données pour faire patienter l'utilisateur, avec une durée d'au moins 2 secondes.

Correction

Step 1 https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step0...step1
Step 2 https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step1...step2
Step 3 https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step2...step3
Step 4 https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step3...step4
Step 5 https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step4...step5
Bonus https://github.com/Zenika/grenoble-hands-on-vuejs/compare/step5...bonus