/polaris-io

Primary LanguageTypeScript

Objective

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

Brief

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

In this challenge, you will find mobile and desktop designs in light and dark mode color schemes for both pages.

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.

Your users should be able to:

  • 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
  • (optional/bonus) Toggle the color scheme between light and dark mode

Tips

  • Feel free to use any third-party packages you wish, such as MUI
  • Structure the page layout in such a way that it is responsive to the browser window size.
  • Don't worry about your solution being pixel-perfect. Try to get as close to the UI design as is reasonable.

Evaluation Criteria

  • TypeScript and React best practices
  • Show us your work through your commit history
  • We're looking for you to produce working code, with enough room to demonstrate how to structure components in a small program
  • Completeness: Did you complete the features?
  • Correctness: Does the functionality act in sensible, thought-out ways?
  • Maintainability: Is it written in a clean, maintainable way?
  • Testing: Is the system adequately tested?

Deliverables

Make sure to include all source code in the repository.

CodeSubmit

Please organize, design, test and document your code as if it were going into production - then push your changes to the master branch. After you have pushed your code, you may submit the assignment on the assignment page.

All the best and happy coding,

The Polaris IO Team