Giter VIP home page Giter VIP logo

country-info's Introduction

Opdrachtbeschrijving

Inleiding

Je vrienden hebben er inmiddels lucht van gekregen dat je kunt programmeren en sindsdien wordt je low key gestalkt met verzoekjes om webapplicaties te bouwen. Je vriend Constantijn wil heel graag dat je een applicatie voor hem maakt die feitjes over landen kan ophalen, zodat hij cool kan doen met zijn wereldse kennis op borrels en verjaardagen.

screenshot

Je gaat dit doen met behulp van de REST Counties API. De documentatie over de verschillende endpoints kun je hier vinden.

Voor je begint

  1. Koppel jouw JavaScript bestand met de HTML pagina. Doe dit ook voor het CSS bestand.
  2. Maak een package.json aan met npm init --yes.
  3. Installeer de npm package axios met npm install axios --save.
  4. Zorg ervoor dat we toegang hebben tot deze package door <script src="./node_modules/axios/dist/axios.min.js"></script> aan onze HTML toe te voegen.
  5. Vergeet niet dat je bij iedere wijziging eerst moet opslaan en de browser moet refreshen. Nodemon is niet meer nodig omdat we JavaScript nu in de browser gaan gebruiken (waar het voor bedoeld is)
  6. Schrijf voor alle onderstaande opdrachten eerst stap voor stap de psuedo-code uit. Check bij de pseudo-antwoorden of je geen stappen overgeslagen hebt. Begin dan pas met programmeren.

Plan de campagne

  1. Maak een 'Zoek'-knop op de pagina en koppel deze aan een functie die de gegevens over België ophaalt en dit in de console logt. Tip: Als de de documentatie bekijkt en op async zoekt, vindt je een voorbeeld van een GET-request.

  2. Maak op basis van de response de volgende string en log dit in de console: [country-naam] is situated in [subarea-name]. It has a population of [amount] people.

  3. Maak op basis van de response de volgende string en log dit in de console: The capital is [city]

  4. Maak een functie die ongeacht het aantal currencies die in een land gebruikt worden, een string maakt. In een land kunnen één of twee currencies gebruikt worden:

    • 1 valuta: and you can pay with [currency]'s
    • 2 valuta's: and you can pay with [currency]'s and [currency]'s
  5. Check of alles nog steeds werkt als je de gegevens over Aruba of Duitsland ophaalt!

  6. Bonusopdracht: Maak een functie die ongeacht het aantal talen die in een land gesproken worden, een string maakt:

    • 1 taal: They speak [language]
    • 2 talen: They speak [language] and [language]
    • 3 talen: They speak [language], [language] and [language]
    • etc.
  7. Zorg ervoor dat de opgehaalde data op de volgende manier wordt toegevoegd aan de DOM:

[IMAGE: flag]
[country-name]
[country-naam] is situated in [subarea-name]. It has a population of [amount] people.
The capital is [city] and you can pay with [currency]'s
They speak [language], [language] and [language]
  1. Maak een inputveld op de pagina en zorg ervoor dat als de gebruiker op enter drukt, de functie wordt aangeroepen waarmee de gegevens over België worden opgehaald.

  2. Zorg ervoor dat de waarde uit het input veld wordt gebruikt als query voor het GET request. Er moet alleen een request gedaan worden als de gebruiker op enter drukt, of op de zoek-knop klikt. Tip: gebruik een globale variabele.

  3. Zorg ervoor dat de waarde van het input veld wordt leeggemaakt na elke zoekopdracht.

  4. Zorg ervoor dat er altijd maar één zoekresultaat op de pagina staat.

  5. Zorg ervoor dat als er naar een land wordt gezocht dat niet bestaat, er een foutmelding in de DOM wordt gezet. Tip: als er een ongeldige API call wordt gemaakt, zal de response in het catch blok terecht komen.

  6. Zorg ervoor dat als je na een ongeldige API call weer een geldige API call maakt, de foutmelding verdwenen is.

  7. Bonusopdracht: make it look nice! 😍

country-info's People

Contributors

reinoptland avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.