This task is for demonstrating your understanding of HTML, CSS, Javascript, React & related libraries.
If you’re doing the front-end only, you must use the https://countries.trevorblades.com endpoint for GraphQL API.
Preferred libraries:
styled-components
for stylingapollo-client
for consuming GraphQL APIreact-router
or any alternative to implement routing
Instructions:
- Create a
create-react-app
repo. - Add a router with routes:
/
- for displaying basic links for the other routes/countries
- for requesting GraphQL API and rendering the list/countries/(:code)
- for requesting GraphQL API and rendering the properties of a continent
- Design is totally by you.
- Countries list at
/countries
must contain the list of countries and the languages spoken in that country. Both in English and native languages. It should also contain the continent it is located in. /countries/(:code)
must render the currency and a area code (phone) of that country.- Routes must be fully loadable with a direct link.
/countries/CI
must render the page for Ivory Coast, for example. - End.
graphql queries
-
list of countries = { countries { code name native continent { code name } languages { name native } } }
-
countries per code = { country(code:"AD"){ name native phone currency languages{ name native } } }