/world-app

Primary LanguageTypeScript

To run

  • npm install
  • npm start

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 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. Feel free to use any component libraries you may need.

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.

If you make any assumptions, trade-offs or de-prioritise features for timeliness, please document these decisions.

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

  • Sort countries by population: most -> less

  • Click on a country to see more detailed information on a separate page

  • Click through to the border countries on the detail page

  • Testing

  • Documentation (What to document ? architetural decisions ?)

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?
  • Scability: Is it written in a independent, modular 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 SaltPay Team