The challenge

Your challenge is to integrate with the REST Countries API to pull country data and display it like in the designs.

You can use any JavaScript framework/library on the front-end such as React. You also have complete control over which packages you use to do things like make HTTP requests or style your project.

Your users should be able to (the more, the better):

  • See all countries from the API on the homepage
  • Search for a country using an input field
  • Filter countries by region
  • Click on a country to see more detailed information on a separate page
  • Click through to the border countries on the detail page
  • Toggle the color scheme between light and dark mode

Where to find everything

Your task is to build out the project to the designs inside the /design folder.

The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as font-size, padding and margin. This should help train your eye to perceive differences in spacings and sizes.

There are no assets for this challenge, as the country flags will be pulled from the REST Countries API and you can use an icon font library for the icons.

There is a style-guide.md file, which contains the information you'll need, such as color palette and fonts.

Building your project

Practice using version control by creating your own GitHub repository for this challenge. This has the added benefit of being able to publish the site for free on GitHub Pages. Find out more about GitHub Pages here: https://pages.github.com.

Another great tool you could use to get your website live is Netlify. They offer a very simple and intuitive way of deploying a site for free and linking the live version to your Git repository.

Suggested workflow

Fork this repo and send it back to us.

Have fun building! 🚀