As a Connected customer
I want the app to display information about countries around the world.
Given the customer has connectivity
When the customer requests to see the countries
Then the app should display the countries from remote,
and it, let the user to show the detail,
of the selected country with more detailed informations
- URL
- Execute "Load Countries" command with above data.
- System downloads data from the URL.
- System validates downloaded data.
- System creates country from valid data.
- System delivers country image.
- System delivers invalid data error.
- System delivers connectivity error.
Property | Type |
---|---|
name |
CountryName |
independent |
Bool (optional) |
unMember |
Bool (optional) |
capital |
Array<String> |
continents |
Array<String> |
flags |
CountryFlag |
region |
String (optional) |
subregion |
String (optional) |
population |
Int64 (optional) |
Property | Type |
---|---|
common |
String |
official |
String (optional) |
Property | Type |
---|---|
png |
String (optional) |
svg |
String (optional) |
alt |
String (optional) |
GET restcountries.com/v3.1/name/usa
200 RESPONSE
{
"name": {
"common": "United States",
"official": "United States of America"
},
"independent": true,
"unMember": true,
"currencies": {
"USD": {
"name": "United States dollar",
"symbol": "$"
}
},
"capital": [
"Washington, D.C."
],
"region": "Americas",
"subregion": "North America",
"languages": {
"eng": "English"
},
"borders": [
"CAN",
"MEX"
],
"area": 9372610.0,
"flag": "🇺🇸",
"maps": {
"googleMaps": "https://goo.gl/maps/e8M246zY4BSjkjAv6",
"openStreetMaps": "https://www.openstreetmap.org/relation/148838#map=2/20.6/-85.8"
},
"population": 329484123,
"timezones": [
"UTC-12:00",
"UTC-11:00",
"UTC-10:00"
],
"continents": [
"North America"
],
"flags": {
"png": "https://flagcdn.com/w320/us.png",
"svg": "https://flagcdn.com/us.svg",
"alt": "The flag of the United States of America is composed of thirteen equal horizontal bands of red alternating with white. A blue rectangle, bearing fifty small five-pointed white stars arranged in nine rows where rows of six stars alternate with rows of five stars, is superimposed in the canton."
},
"startOfWeek": "sunday",
"capitalInfo": {
"latlng": [
38.89,
-77.05
]
},
"postalCode": {
"format": "#####-####",
"regex": "^\\d{5}(-\\d{4})?$"
},
...
}
- Restcountries.com REST API