Skip to content

lampian/flutter_countries_assessment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Palota Countries Info

Palota assessment starter project | Flutter Countries info

Palota Logo

Getting Started

Use this repo as a template or fork this repo into your own Github account so you can make changes. Alternatively, you can clone the project and upload it to your own repo so it does not show the link back to this repo.

The assessment

Overview

This is a starter project for a simple countries information application. The main is to complete two primary pages. The first page will list African countries and provide a click-through navigation to the second page. The second page will be a country detail page that will show various information about the country.

There are some existing pages, e.g. the landing page (landing.dart) and about page (about.dart), you can leave those pages as they are.

Data Source

The data will come from an open RESTful API that serves country information. The API documentation can be found here. For the most part the main API called would be the region endpoint using africa as the parameter i.e.:

N.B. The data from this API is not 100% accurate, use the data as is.

Additional data source

https://restcountries.eu/ provides country flags in SVG format. This may make it slighly more complicated to deal with in flutter. So you may use a different data source for flags. https://flagpedia.net/download/api can be used for this purpose. E.g. https://flagcdn.com/w640/za.png South African Logo where za is the ISO Alpha 2 Code of South Africa.

Required Tasks

  1. Integrate to the Countries API (https://restcountries.eu/) to list countries in the African Region
  2. Complete the countries page (countries.dart) and integrate it to the API
  3. Create click-through navigation to the country page (hint: consider using the route generator)

Bonus Tasks

  1. Provider client-side search/filter capability to filter the list of countries based on user input. You can put the search/filter input on the app bar of the countries page.
  2. List the bordering countries with their flags in horizontally scrollable component that allows click through to the relevant country. E.g. if you are on the South African country detail, Zimbabwe (or the Zimbabwean flag) should show on the bordering countries component and you should be able to click through to the Zimbabwean country detail page.
  3. Handle errors, write clean code. You can use any pattern your are farmiar with.

Detailed designs

The detailed designs can be found here: diagram

The card on the detail page will need to use data from the API to create one paragraph. The used example is South Africa and the text would be as follows:

South Africa covers an area of 1221037 km² and has a population of 55653654 - the nation has a Gini coefficient of 63.1. A resident of South Africa is called a South African. The main currency accepted as legal tender is the South African rand which is expressed with the symbol 'R'. 

Look at the API to figure out where to get the values to populate.

N.B. The designs repeat some values as they are just for illustration. In your completed app, use the data from the API as is.

animation

Submission

Once done with the task, commit all your code and push it to your forked remote github repository. Submit a link to your forked repo (with relevant branch - ideally master) to the email which will be provided to you separately when the assessment is assigned to you.


For help getting started with Flutter, view the flutter online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

About

Starter project for Palota's country information flutter assessment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 94.4%
  • Swift 3.9%
  • Kotlin 1.3%
  • Objective-C 0.4%