Initial commit

This commit is contained in:
Chris Kipp 2023-01-10 14:15:29 +01:00 committed by GitHub
commit 50db809735
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 90525 additions and 0 deletions

1
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1 @@
* @lunatech-labs/current-assessments

69
INSTRUCTIONS.md Normal file
View file

@ -0,0 +1,69 @@
# Lunatech COVID Assessment Instructions
Wed like to invite you to do a code assessment as discussed during your
interview. Please read these instructions carefully to ensure that you implement
everything as expected. *Be sure to do your work on a separate branch and when
you are ready for your code to be reviewed, open a pull request to the main
branch*. This is important as it will signify that you've completed the
assessment. After completing the assessment, developers from Lunatech will
review your code and you'll be given the chance to "hand off" the application to
them. You'll give a demo of your app, explain your technical choices, and
discuss the application with them.
The code assessment is not a puzzle; it's not meant to be tricky or confusing.
If you have any questions do not hesitate to contact us, we'll be glad to answer
them.
## Guidelines
- Approach this assessment if as you were developing a real world project. We
want to see how you conduct your engineering practice (project structure,
code quality, readability, documentation and so on). GitHub Actions are
enabled for this repo, so feel free to use them.
- The one week limit is to be able to give rapid feedback, you can have more
time, just send us an email. Its OK if you havent completed all the
requirements, the exercise is meant to start a discussion. Remember:
Quality over Quantity.
- When you're complete, make sure all of your code is pushed up to this repo
and let us know.
- You're free to use whatever tech stack you're comfortable with, just make
sure the stack makes sense given the assignment
## The Details
The goal of this assessment is to produce a web application written in Java or
Scala, using data available in this repository. This application covers the
following requirements:
### Query:
For this endpoint, given a country name, and date (eg. 14-06-2020), get the daily
infections and deaths up until, and including, the specified date. For bonus points,
make the test partial/fuzzy (e.g. entering 'Zimb' will result in 'Zimbabwe').
### Reports:
This endpoint will return to the user the following reports:
- 10 countries with the highest vaccinations (with count), and countries
with lowest number of vaccinations.
- 10 countries with the highest infections per 100k inhabitants (with count)
- Bonus: If we consider all populations wants to become fully vaccinated (there is
no such thing as an Anti-Vaxxer), print countries that haven't vaccinated their
whole population with at least one shot or jab.
## Setup
To speed up the assessment development, we have provided a `docker-compose` file that
will run a [PostgreSQL](https://www.postgresql.org/) instance with all the data loaded,
which you can start with the following command: `docker-compose up`. You can connect to
this instance from your application with the following values:
```
JDBC URL = jdbc:postgresql://localhost:5432/lunatech_covid
Username = postgres
Password = postgres
```
The schema is defined within the file `schema.sql` in the `database-init`
folder. For whatever reason if you want to change anything in the
`docker-compose` or re-use it in your own `docker-compose`, feel free. It's
provided for your convenience.

4
README.md Normal file
View file

@ -0,0 +1,4 @@
# Lunatech COVID Assessment
Please use this readme as your projects readme. You can find instructions for
the assignment in the [`INSTRUCTIONS.md`](INSTRUCTIONS.md) file.

61580
database-init/cases.csv Normal file

File diff suppressed because it is too large Load diff

248
database-init/countries.csv Normal file
View file

@ -0,0 +1,248 @@
"id","code","name","population","continent","wikipedia_link","keywords"
302672,"AD","Andorra",77265,"EU","http://en.wikipedia.org/wiki/Andorra",
302618,"AE","United Arab Emirates",9890400,"AS","http://en.wikipedia.org/wiki/United_Arab_Emirates","UAE"
302619,"AF","Afghanistan",38928341,"AS","http://en.wikipedia.org/wiki/Afghanistan",
302722,"AG","Antigua and Barbuda",97928,"NA","http://en.wikipedia.org/wiki/Antigua_and_Barbuda",
302723,"AI","Anguilla",97928,"NA","http://en.wikipedia.org/wiki/Anguilla",
302673,"AL","Albania",2837743,"EU","http://en.wikipedia.org/wiki/Albania",
302620,"AM","Armenia",2963234,"AS","http://en.wikipedia.org/wiki/Armenia",
302556,"AO","Angola",32866268,"AF","http://en.wikipedia.org/wiki/Angola",
302615,"AQ","Antarctica",436080728,"AN","http://en.wikipedia.org/wiki/Antarctica",
302789,"AR","Argentina",45376763,"SA","http://en.wikipedia.org/wiki/Argentina",
302763,"AS","American Samoa",55197,"OC","http://en.wikipedia.org/wiki/American_Samoa",
302674,"AT","Austria",8917205,"EU","http://en.wikipedia.org/wiki/Austria",
302764,"AU","Australia",25687041,"OC","http://en.wikipedia.org/wiki/Australia",
302725,"AW","Aruba",106766,"NA","http://en.wikipedia.org/wiki/Aruba",
302621,"AZ","Azerbaijan",10093121,"AS","http://en.wikipedia.org/wiki/Azerbaijan",
302675,"BA","Bosnia and Herzegovina",3280815,"EU","http://en.wikipedia.org/wiki/Bosnia_and_Herzegovina",
302726,"BB","Barbados",287371,"NA","http://en.wikipedia.org/wiki/Barbados",
302622,"BD","Bangladesh",164689383,"AS","http://en.wikipedia.org/wiki/Bangladesh",
302676,"BE","Belgium",11555997,"EU","http://en.wikipedia.org/wiki/Belgium",
302557,"BF","Burkina Faso",20903278,"AF","http://en.wikipedia.org/wiki/Burkina_Faso",
302677,"BG","Bulgaria",6934015,"EU","http://en.wikipedia.org/wiki/Bulgaria",
302623,"BH","Bahrain",1701583,"AS","http://en.wikipedia.org/wiki/Bahrain",
302558,"BI","Burundi",11890781,"AF","http://en.wikipedia.org/wiki/Burundi",
302559,"BJ","Benin",12123198,"AF","http://en.wikipedia.org/wiki/Benin",
302760,"BL","Saint Barthélemy",9877,"NA","http://en.wikipedia.org/wiki/Saint_Barthélemy",
302727,"BM","Bermuda",63903,"NA","http://en.wikipedia.org/wiki/Bermuda",
302624,"BN","Brunei",437483,"AS","http://en.wikipedia.org/wiki/Brunei",
302790,"BO","Bolivia",11673029,"SA","http://en.wikipedia.org/wiki/Bolivia",
302724,"BQ","Caribbean Netherlands",7442291,"NA","http://en.wikipedia.org/wiki/Caribbean_Netherlands",
302791,"BR","Brazil",212559409,"SA","http://en.wikipedia.org/wiki/Brazil","Brasil;Brasilian"
302728,"BS","Bahamas",389486,"NA","http://en.wikipedia.org/wiki/Bahamas",
302625,"BT","Bhutan",771612,"AS","http://en.wikipedia.org/wiki/Bhutan",
302560,"BW","Botswana",2351625,"AF","http://en.wikipedia.org/wiki/Botswana",
302678,"BY","Belarus",9379952,"EU","http://en.wikipedia.org/wiki/Belarus","Belarussian;Беларусь"
302729,"BZ","Belize",397621,"NA","http://en.wikipedia.org/wiki/Belize",
302730,"CA","Canada",38005238,"NA","http://en.wikipedia.org/wiki/Canada",
302626,"CC","Cocos (Keeling) Islands",596,"AS","http://en.wikipedia.org/wiki/Cocos_(Keeling)_Islands",
302561,"CD","Congo (Kinshasa)",86790568,"AF","http://en.wikipedia.org/wiki/Congo_(Kinshasa)",
302562,"CF","Central African Republic",4829764,"AF","http://en.wikipedia.org/wiki/Central_African_Republic",
302563,"CG","Congo (Brazzaville)",5380504,"AF","http://en.wikipedia.org/wiki/Congo_(Brazzaville)",
302679,"CH","Switzerland",8636896,"EU","http://en.wikipedia.org/wiki/Switzerland",
302564,"CI","Côte d'Ivoire",26378275,"AF","http://en.wikipedia.org/wiki/Côte_d'Ivoire","Ivory Coast"
302765,"CK","Cook Islands",17459,"OC","http://en.wikipedia.org/wiki/Cook_Islands",
302792,"CL","Chile",19116209,"SA","http://en.wikipedia.org/wiki/Chile",
302565,"CM","Cameroon",26545864,"AF","http://en.wikipedia.org/wiki/Cameroon",
302627,"CN","China",1410929362,"AS","http://en.wikipedia.org/wiki/China",
302793,"CO","Colombia",50882884,"SA","http://en.wikipedia.org/wiki/Colombia",
302731,"CR","Costa Rica",5094114,"NA","http://en.wikipedia.org/wiki/Costa_Rica",
302732,"CU","Cuba",11326616,"NA","http://en.wikipedia.org/wiki/Cuba",
302566,"CV","Cape Verde",555988,"AF","http://en.wikipedia.org/wiki/Cape_Verde",
302762,"CW","Curaçao",155014,"NA","http://en.wikipedia.org/wiki/Cura%C3%A7ao",
302628,"CX","Christmas Island",1402,"AS","http://en.wikipedia.org/wiki/Christmas_Island",
302629,"CY","Cyprus",1207361,"AS","http://en.wikipedia.org/wiki/Cyprus",
302680,"CZ","Czech Republic",10698896,"EU","http://en.wikipedia.org/wiki/Czech_Republic",
302681,"DE","Germany",83240525,"EU","http://en.wikipedia.org/wiki/Germany","Deutschland"
302567,"DJ","Djibouti",988002,"AF","http://en.wikipedia.org/wiki/Djibouti",
302682,"DK","Denmark",5831404,"EU","http://en.wikipedia.org/wiki/Denmark",
302733,"DM","Dominica",71991,"NA","http://en.wikipedia.org/wiki/Dominica",
302734,"DO","Dominican Republic",10847904,"NA","http://en.wikipedia.org/wiki/Dominican_Republic",
302568,"DZ","Algeria",43851043,"AF","http://en.wikipedia.org/wiki/Algeria",
302794,"EC","Ecuador",17643060,"SA","http://en.wikipedia.org/wiki/Ecuador",
302683,"EE","Estonia",1331057,"EU","http://en.wikipedia.org/wiki/Estonia",
302569,"EG","Egypt",100388076,"AF","http://en.wikipedia.org/wiki/Egypt",
302570,"EH","Western Sahara",619811,"AF","http://en.wikipedia.org/wiki/Western_Sahara","Sahrawian"
302571,"ER","Eritrea",3621464,"AF","http://en.wikipedia.org/wiki/Eritrea",
302684,"ES","Spain",47351567,"EU","http://en.wikipedia.org/wiki/Spain",
302572,"ET","Ethiopia",114963583,"AF","http://en.wikipedia.org/wiki/Ethiopia",
302685,"FI","Finland",5530719,"EU","http://en.wikipedia.org/wiki/Finland",
302766,"FJ","Fiji",896444,"OC","http://en.wikipedia.org/wiki/Fiji",
302795,"FK","Falkland Islands",2840,"SA","http://en.wikipedia.org/wiki/Falkland_Islands",
302767,"FM","Micronesia",113811,"OC","http://en.wikipedia.org/wiki/Micronesia",
302686,"FO","Faroe Islands",48865,"EU","http://en.wikipedia.org/wiki/Faroe_Islands",
302687,"FR","France",67391582,"EU","http://en.wikipedia.org/wiki/France",
302573,"GA","Gabon",2225728,"AF","http://en.wikipedia.org/wiki/Gabon",
302688,"GB","United Kingdom",67215293,"EU","http://en.wikipedia.org/wiki/United_Kingdom","Great Britain"
302735,"GD","Grenada",112519,"NA","http://en.wikipedia.org/wiki/Grenada",
302630,"GE","Georgia",3714000,"AS","http://en.wikipedia.org/wiki/Georgia_(country)",
302796,"GF","French Guiana",294071,"SA","http://en.wikipedia.org/wiki/French_Guiana","French Guyana"
302689,"GG","Guernsey",62792,"EU","http://en.wikipedia.org/wiki/Guernsey",
302574,"GH","Ghana",31072945,"AF","http://en.wikipedia.org/wiki/Ghana",
302690,"GI","Gibraltar",33691,"EU","http://en.wikipedia.org/wiki/Gibraltar",
302736,"GL","Greenland",56367,"NA","http://en.wikipedia.org/wiki/Greenland",
302575,"GM","Gambia",2347696,"AF","http://en.wikipedia.org/wiki/Gambia",
302576,"GN","Guinea",13132792,"AF","http://en.wikipedia.org/wiki/Guinea",
302737,"GP","Guadeloupe",395700,"NA","http://en.wikipedia.org/wiki/Guadeloupe",
302577,"GQ","Equatorial Guinea",1402985,"AF","http://en.wikipedia.org/wiki/Equatorial_Guinea",
302691,"GR","Greece",10715549,"EU","http://en.wikipedia.org/wiki/Greece",
302616,"GS","South Georgia and the South Sandwich Islands",3989167,"AN","http://en.wikipedia.org/wiki/South_Georgia_and_the_South_Sandwich_Islands",
302738,"GT","Guatemala",16858333,"NA","http://en.wikipedia.org/wiki/Guatemala",
302768,"GU","Guam",168783,"OC","http://en.wikipedia.org/wiki/Guam",
302578,"GW","Guinea-Bissau",1967998,"AF","http://en.wikipedia.org/wiki/Guinea-Bissau",
302797,"GY","Guyana",786559,"SA","http://en.wikipedia.org/wiki/Guyana",
302631,"HK","Hong Kong",7507400,"AS","http://en.wikipedia.org/wiki/Hong_Kong",
302739,"HN","Honduras",9904608,"NA","http://en.wikipedia.org/wiki/Honduras",
302692,"HR","Croatia",4047200,"EU","http://en.wikipedia.org/wiki/Croatia",
302740,"HT","Haiti",11402533,"NA","http://en.wikipedia.org/wiki/Haiti",
302693,"HU","Hungary",9749763,"EU","http://en.wikipedia.org/wiki/Hungary",
302632,"ID","Indonesia",273523621,"AS","http://en.wikipedia.org/wiki/Indonesia",
302694,"IE","Ireland",4994724,"EU","http://en.wikipedia.org/wiki/Ireland","Eire"
302633,"IL","Israel",9216900,"AS","http://en.wikipedia.org/wiki/Israel",
302695,"IM","Isle of Man",85032,"EU","http://en.wikipedia.org/wiki/Isle_of_Man",
302634,"IN","India",1380004385,"AS","http://en.wikipedia.org/wiki/India",
302635,"IO","British Indian Ocean Territory",3000,"AS","http://en.wikipedia.org/wiki/British_Indian_Ocean_Territory",
302636,"IQ","Iraq",40222503,"AS","http://en.wikipedia.org/wiki/Iraq",
302637,"IR","Iran",82913893,"AS","http://en.wikipedia.org/wiki/Iran",
302696,"IS","Iceland",366425,"EU","http://en.wikipedia.org/wiki/Iceland",
302697,"IT","Italy",59554023,"EU","http://en.wikipedia.org/wiki/Italy","Italia"
302698,"JE","Jersey",97857,"EU","http://en.wikipedia.org/wiki/Jersey",
302741,"JM","Jamaica",2961161,"NA","http://en.wikipedia.org/wiki/Jamaica",
302638,"JO","Jordan",10203140,"AS","http://en.wikipedia.org/wiki/Jordan",
302639,"JP","Japan",125836021,"AS","http://en.wikipedia.org/wiki/Japan","Nippon"
302579,"KE","Kenya",53771300,"AF","http://en.wikipedia.org/wiki/Kenya",
302640,"KG","Kyrgyzstan",6591600,"AS","http://en.wikipedia.org/wiki/Kyrgyzstan",
302641,"KH","Cambodia",16718971,"AS","http://en.wikipedia.org/wiki/Cambodia",
302769,"KI","Kiribati",119446,"OC","http://en.wikipedia.org/wiki/Kiribati",
302580,"KM","Comoros",869595,"AF","http://en.wikipedia.org/wiki/Comoros","جزر القمر"
302742,"KN","Saint Kitts and Nevis",53192,"NA","http://en.wikipedia.org/wiki/Saint_Kitts_and_Nevis",
302642,"KP","North Korea",25778816,"AS","http://en.wikipedia.org/wiki/North_Korea",
302643,"KR","South Korea",51269185,"AS","http://en.wikipedia.org/wiki/South_Korea",
302720,"KS","Kosovo",1775378,"EU","http://en.wikipedia.org/wiki/Kosovo","Kosova"
302644,"KW","Kuwait",4270563,"AS","http://en.wikipedia.org/wiki/Kuwait",
302743,"KY","Cayman Islands",65720,"NA","http://en.wikipedia.org/wiki/Cayman_Islands",
302645,"KZ","Kazakhstan",18754440,"AS","http://en.wikipedia.org/wiki/Kazakhstan","Kazakh"
302646,"LA","Laos",7275556,"AS","http://en.wikipedia.org/wiki/Laos",
302647,"LB","Lebanon",6825442,"AS","http://en.wikipedia.org/wiki/Lebanon",
302744,"LC","Saint Lucia",183629,"NA","http://en.wikipedia.org/wiki/Saint_Lucia",
302699,"LI","Liechtenstein",38137,"EU","http://en.wikipedia.org/wiki/Liechtenstein",
302648,"LK","Sri Lanka",21919000,"AS","http://en.wikipedia.org/wiki/Sri_Lanka",
302581,"LR","Liberia",5057677,"AF","http://en.wikipedia.org/wiki/Liberia",
302582,"LS","Lesotho",2142252,"AF","http://en.wikipedia.org/wiki/Lesotho",
302700,"LT","Lithuania",2794700,"EU","http://en.wikipedia.org/wiki/Lithuania",
302701,"LU","Luxembourg",632275,"EU","http://en.wikipedia.org/wiki/Luxembourg",
302702,"LV","Latvia",1901548,"EU","http://en.wikipedia.org/wiki/Latvia",
302583,"LY","Libya",6871287,"AF","http://en.wikipedia.org/wiki/Libya",
302584,"MA","Morocco",36910558,"AF","http://en.wikipedia.org/wiki/Morocco",
302703,"MC","Monaco",39244,"EU","http://en.wikipedia.org/wiki/Monaco",
302704,"MD","Moldova",2620495,"EU","http://en.wikipedia.org/wiki/Moldova",
302705,"ME","Montenegro",621306,"EU","http://en.wikipedia.org/wiki/Montenegro",
302759,"MF","Saint Martin",38659,"NA","http://en.wikipedia.org/wiki/Saint_Martin_(France)",
302585,"MG","Madagascar",27691019,"AF","http://en.wikipedia.org/wiki/Madagascar",
302770,"MH","Marshall Islands",59194,"OC","http://en.wikipedia.org/wiki/Marshall_Islands",
302706,"MK","Macedonia",2083243,"EU","http://en.wikipedia.org/wiki/Macedonia",
302586,"ML","Mali",20250834,"AF","http://en.wikipedia.org/wiki/Mali",
302649,"MM","Burma",54967748,"AS","http://en.wikipedia.org/wiki/Burma","Myanmar"
302650,"MN","Mongolia",3278292,"AS","http://en.wikipedia.org/wiki/Mongolia",
302651,"MO","Macau",640446,"AS","http://en.wikipedia.org/wiki/Macau","Macao"
302771,"MP","Northern Mariana Islands",57557,"OC","http://en.wikipedia.org/wiki/Northern_Mariana_Islands",
302745,"MQ","Martinique",374820,"NA","http://en.wikipedia.org/wiki/Martinique",
302587,"MR","Mauritania",4649660,"AF","http://en.wikipedia.org/wiki/Mauritania",
302746,"MS","Montserrat",4992,"NA","http://en.wikipedia.org/wiki/Montserrat",
302707,"MT","Malta",525285,"EU","http://en.wikipedia.org/wiki/Malta",
302588,"MU","Mauritius",1265740,"AF","http://en.wikipedia.org/wiki/Mauritius",
302652,"MV","Maldives",540542,"AS","http://en.wikipedia.org/wiki/Maldives",
302589,"MW","Malawi",19129955,"AF","http://en.wikipedia.org/wiki/Malawi",
302747,"MX","Mexico",128932753,"NA","http://en.wikipedia.org/wiki/Mexico",
302653,"MY","Malaysia",32365998,"AS","http://en.wikipedia.org/wiki/Malaysia",
302590,"MZ","Mozambique",31255435,"AF","http://en.wikipedia.org/wiki/Mozambique",
302591,"NA","Namibia",2540916,"AF","http://en.wikipedia.org/wiki/Namibia",
302772,"NC","New Caledonia",271960,"OC","http://en.wikipedia.org/wiki/New_Caledonia",
302592,"NE","Niger",24206636,"AF","http://en.wikipedia.org/wiki/Niger",
302773,"NF","Norfolk Island",1748,"OC","http://en.wikipedia.org/wiki/Norfolk_Island",
302593,"NG","Nigeria",206139587,"AF","http://en.wikipedia.org/wiki/Nigeria",
302748,"NI","Nicaragua",6624554,"NA","http://en.wikipedia.org/wiki/Nicaragua",
302708,"NL","Netherlands",17441139,"EU","http://en.wikipedia.org/wiki/Netherlands","Holland"
302709,"NO","Norway",5379475,"EU","http://en.wikipedia.org/wiki/Norway",
302654,"NP","Nepal",29136808,"AS","http://en.wikipedia.org/wiki/Nepal",
302774,"NR","Nauru",10834,"OC","http://en.wikipedia.org/wiki/Nauru",
302775,"NU","Niue",1626,"OC","http://en.wikipedia.org/wiki/Niue",
302776,"NZ","New Zealand",5084300,"OC","http://en.wikipedia.org/wiki/New_Zealand",
302655,"OM","Oman",5106622,"AS","http://en.wikipedia.org/wiki/Oman",
302749,"PA","Panama",4314768,"NA","http://en.wikipedia.org/wiki/Panama",
302798,"PE","Perú",32971846,"SA","http://en.wikipedia.org/wiki/Perú",
302777,"PF","French Polynesia",280904,"OC","http://en.wikipedia.org/wiki/French_Polynesia",
302778,"PG","Papua New Guinea",8947027,"OC","http://en.wikipedia.org/wiki/Papua_New_Guinea",
302656,"PH","Philippines",109581085,"AS","http://en.wikipedia.org/wiki/Philippines","Philippine;Phillipines Philipines"
302657,"PK","Pakistan",220892331,"AS","http://en.wikipedia.org/wiki/Pakistan",
302710,"PL","Poland",37950802,"EU","http://en.wikipedia.org/wiki/Poland",
302750,"PM","Saint Pierre and Miquelon",5794,"NA","http://en.wikipedia.org/wiki/Saint_Pierre_and_Miquelon",
302779,"PN","Pitcairn",193,"OC","http://en.wikipedia.org/wiki/Pitcairn",
302751,"PR","Puerto Rico",3194034,"NA","http://en.wikipedia.org/wiki/Puerto_Rico",
302658,"PS","Palestinian Territory",5101414,"AS","http://en.wikipedia.org/wiki/Palestinian_Territory",
302711,"PT","Portugal",10305564,"EU","http://en.wikipedia.org/wiki/Portugal",
302780,"PW","Palau",18092,"OC","http://en.wikipedia.org/wiki/Palau",
302799,"PY","Paraguay",7132530,"SA","http://en.wikipedia.org/wiki/Paraguay",
302659,"QA","Qatar",2881060,"AS","http://en.wikipedia.org/wiki/Qatar",
302594,"RE","Réunion",895312,"AF","http://en.wikipedia.org/wiki/Réunion","Île Bourbon;La Réunion"
302712,"RO","Romania",19286123,"EU","http://en.wikipedia.org/wiki/Romania",
302713,"RS","Serbia",6908224,"EU","http://en.wikipedia.org/wiki/Serbia","Serb"
302714,"RU","Russia",144104080,"EU","http://en.wikipedia.org/wiki/Russia","Soviet;Sovietskaya, Sovetskaya"
302595,"RW","Rwanda",12952209,"AF","http://en.wikipedia.org/wiki/Rwanda",
302660,"SA","Saudi Arabia",34813867,"AS","http://en.wikipedia.org/wiki/Saudi_Arabia",
302781,"SB","Solomon Islands",686878,"OC","http://en.wikipedia.org/wiki/Solomon_Islands",
302596,"SC","Seychelles",98462,"AF","http://en.wikipedia.org/wiki/Seychelles",
302597,"SD","Sudan",43849269,"AF","http://en.wikipedia.org/wiki/Sudan",
302715,"SE","Sweden",10353442,"EU","http://en.wikipedia.org/wiki/Sweden",
302661,"SG","Singapore",5685807,"AS","http://en.wikipedia.org/wiki/Singapore",
302598,"SH","Saint Helena",6077,"AF","http://en.wikipedia.org/wiki/Saint_Helena",
302716,"SI","Slovenia",2100126,"EU","http://en.wikipedia.org/wiki/Slovenia",
302717,"SK","Slovakia",5458827,"EU","http://en.wikipedia.org/wiki/Slovakia",
302599,"SL","Sierra Leone",7976985,"AF","http://en.wikipedia.org/wiki/Sierra_Leone",
302718,"SM","San Marino",33938,"EU","http://en.wikipedia.org/wiki/San_Marino",
302600,"SN","Senegal",16743930,"AF","http://en.wikipedia.org/wiki/Senegal",
302601,"SO","Somalia",15893219,"AF","http://en.wikipedia.org/wiki/Somalia",
302800,"SR","Suriname",586634,"SA","http://en.wikipedia.org/wiki/Suriname",
302614,"SS","South Sudan",11193729,"AF","http://en.wikipedia.org/wiki/South_Sudan",
302602,"ST","São Tomé and Principe",219159,"AF","http://en.wikipedia.org/wiki/São_Tomé_and_Principe",
302752,"SV","El Salvador",6486201,"NA","http://en.wikipedia.org/wiki/El_Salvador","Salvadorian;Salvadorean"
302761,"SX","Sint Maarten",40812,"NA","http://en.wikipedia.org/wiki/Sint_Maarten",
302662,"SY","Syria",17500657,"AS","http://en.wikipedia.org/wiki/Syria",
302603,"SZ","Swaziland",1178502,"AF","http://en.wikipedia.org/wiki/Swaziland",
302753,"TC","Turks and Caicos Islands",38718,"NA","http://en.wikipedia.org/wiki/Turks_and_Caicos_Islands",
302604,"TD","Chad",16425859,"AF","http://en.wikipedia.org/wiki/Chad",
302617,"TF","French Southern Territories",400,"AN","http://en.wikipedia.org/wiki/French_Southern_Territories",
302605,"TG","Togo",8278737,"AF","http://en.wikipedia.org/wiki/Togo",
302663,"TH","Thailand",69799978,"AS","http://en.wikipedia.org/wiki/Thailand","Siam;Siamese"
302664,"TJ","Tajikistan",9537642,"AS","http://en.wikipedia.org/wiki/Tajikistan","Tajik"
302782,"TK","Tokelau",1357,"OC","http://en.wikipedia.org/wiki/Tokelau",
302665,"TL","Timor-Leste",1318442,"AS","http://en.wikipedia.org/wiki/Timor-Leste","East Timor"
302666,"TM","Turkmenistan",6031187,"AS","http://en.wikipedia.org/wiki/Turkmenistan",
302606,"TN","Tunisia",11818618,"AF","http://en.wikipedia.org/wiki/Tunisia",
302783,"TO","Tonga",105697,"OC","http://en.wikipedia.org/wiki/Tonga",
302667,"TR","Turkey",84339067,"AS","http://en.wikipedia.org/wiki/Turkey",
302754,"TT","Trinidad and Tobago",1399491,"NA","http://en.wikipedia.org/wiki/Trinidad_and_Tobago",
302784,"TV","Tuvalu",11792,"OC","http://en.wikipedia.org/wiki/Tuvalu",
302668,"TW","Taiwan",23816775,"AS","http://en.wikipedia.org/wiki/Taiwan",
302607,"TZ","Tanzania",59734213,"AF","http://en.wikipedia.org/wiki/Tanzania",
302719,"UA","Ukraine",44134693,"EU","http://en.wikipedia.org/wiki/Ukraine",
302608,"UG","Uganda",45741000,"AF","http://en.wikipedia.org/wiki/Uganda",
302785,"UM","United States Minor Outlying Islands",315,"OC","http://en.wikipedia.org/wiki/United_States_Minor_Outlying_Islands",
302755,"US","United States",329484123,"NA","http://en.wikipedia.org/wiki/United_States","America"
302801,"UY","Uruguay",3473727,"SA","http://en.wikipedia.org/wiki/Uruguay",
302669,"UZ","Uzbekistan",34232050,"AS","http://en.wikipedia.org/wiki/Uzbekistan","Uzbek"
302721,"VA","Vatican City",825,"EU","http://en.wikipedia.org/wiki/Vatican_City","The Holy See"
302756,"VC","Saint Vincent and the Grenadines",110947,"NA","http://en.wikipedia.org/wiki/Saint_Vincent_and_the_Grenadines",
302802,"VE","Venezuela",28515829,"SA","http://en.wikipedia.org/wiki/Venezuela",
302757,"VG","British Virgin Islands",30237,"NA","http://en.wikipedia.org/wiki/British_Virgin_Islands",
302758,"VI","U.S. Virgin Islands",106290,"NA","http://en.wikipedia.org/wiki/U.S._Virgin_Islands",
302670,"VN","Vietnam",97338583,"AS","http://en.wikipedia.org/wiki/Vietnam",
302786,"VU","Vanuatu",307150,"OC","http://en.wikipedia.org/wiki/Vanuatu",
302787,"WF","Wallis and Futuna",11239,"OC","http://en.wikipedia.org/wiki/Wallis_and_Futuna",
302788,"WS","Samoa",198410,"OC","http://en.wikipedia.org/wiki/Samoa",
302671,"YE","Yemen",29161922,"AS","http://en.wikipedia.org/wiki/Yemen",
302609,"YT","Mayotte",270372,"AF","http://en.wikipedia.org/wiki/Mayotte",
302610,"ZA","South Africa",59308690,"AF","http://en.wikipedia.org/wiki/South_Africa",
302611,"ZM","Zambia",18383956,"AF","http://en.wikipedia.org/wiki/Zambia",
302612,"ZW","Zimbabwe",14862927,"AF","http://en.wikipedia.org/wiki/Zimbabwe",
302613,"ZZ","Unknown or unassigned country",0,"AF","http://en.wikipedia.org/wiki/Unknown_or_unassigned_country",
1 id code name population continent wikipedia_link keywords
2 302672 AD Andorra 77265 EU http://en.wikipedia.org/wiki/Andorra
3 302618 AE United Arab Emirates 9890400 AS http://en.wikipedia.org/wiki/United_Arab_Emirates UAE
4 302619 AF Afghanistan 38928341 AS http://en.wikipedia.org/wiki/Afghanistan
5 302722 AG Antigua and Barbuda 97928 NA http://en.wikipedia.org/wiki/Antigua_and_Barbuda
6 302723 AI Anguilla 97928 NA http://en.wikipedia.org/wiki/Anguilla
7 302673 AL Albania 2837743 EU http://en.wikipedia.org/wiki/Albania
8 302620 AM Armenia 2963234 AS http://en.wikipedia.org/wiki/Armenia
9 302556 AO Angola 32866268 AF http://en.wikipedia.org/wiki/Angola
10 302615 AQ Antarctica 436080728 AN http://en.wikipedia.org/wiki/Antarctica
11 302789 AR Argentina 45376763 SA http://en.wikipedia.org/wiki/Argentina
12 302763 AS American Samoa 55197 OC http://en.wikipedia.org/wiki/American_Samoa
13 302674 AT Austria 8917205 EU http://en.wikipedia.org/wiki/Austria
14 302764 AU Australia 25687041 OC http://en.wikipedia.org/wiki/Australia
15 302725 AW Aruba 106766 NA http://en.wikipedia.org/wiki/Aruba
16 302621 AZ Azerbaijan 10093121 AS http://en.wikipedia.org/wiki/Azerbaijan
17 302675 BA Bosnia and Herzegovina 3280815 EU http://en.wikipedia.org/wiki/Bosnia_and_Herzegovina
18 302726 BB Barbados 287371 NA http://en.wikipedia.org/wiki/Barbados
19 302622 BD Bangladesh 164689383 AS http://en.wikipedia.org/wiki/Bangladesh
20 302676 BE Belgium 11555997 EU http://en.wikipedia.org/wiki/Belgium
21 302557 BF Burkina Faso 20903278 AF http://en.wikipedia.org/wiki/Burkina_Faso
22 302677 BG Bulgaria 6934015 EU http://en.wikipedia.org/wiki/Bulgaria
23 302623 BH Bahrain 1701583 AS http://en.wikipedia.org/wiki/Bahrain
24 302558 BI Burundi 11890781 AF http://en.wikipedia.org/wiki/Burundi
25 302559 BJ Benin 12123198 AF http://en.wikipedia.org/wiki/Benin
26 302760 BL Saint Barthélemy 9877 NA http://en.wikipedia.org/wiki/Saint_Barthélemy
27 302727 BM Bermuda 63903 NA http://en.wikipedia.org/wiki/Bermuda
28 302624 BN Brunei 437483 AS http://en.wikipedia.org/wiki/Brunei
29 302790 BO Bolivia 11673029 SA http://en.wikipedia.org/wiki/Bolivia
30 302724 BQ Caribbean Netherlands 7442291 NA http://en.wikipedia.org/wiki/Caribbean_Netherlands
31 302791 BR Brazil 212559409 SA http://en.wikipedia.org/wiki/Brazil Brasil;Brasilian
32 302728 BS Bahamas 389486 NA http://en.wikipedia.org/wiki/Bahamas
33 302625 BT Bhutan 771612 AS http://en.wikipedia.org/wiki/Bhutan
34 302560 BW Botswana 2351625 AF http://en.wikipedia.org/wiki/Botswana
35 302678 BY Belarus 9379952 EU http://en.wikipedia.org/wiki/Belarus Belarussian;Беларусь
36 302729 BZ Belize 397621 NA http://en.wikipedia.org/wiki/Belize
37 302730 CA Canada 38005238 NA http://en.wikipedia.org/wiki/Canada
38 302626 CC Cocos (Keeling) Islands 596 AS http://en.wikipedia.org/wiki/Cocos_(Keeling)_Islands
39 302561 CD Congo (Kinshasa) 86790568 AF http://en.wikipedia.org/wiki/Congo_(Kinshasa)
40 302562 CF Central African Republic 4829764 AF http://en.wikipedia.org/wiki/Central_African_Republic
41 302563 CG Congo (Brazzaville) 5380504 AF http://en.wikipedia.org/wiki/Congo_(Brazzaville)
42 302679 CH Switzerland 8636896 EU http://en.wikipedia.org/wiki/Switzerland
43 302564 CI Côte d'Ivoire 26378275 AF http://en.wikipedia.org/wiki/Côte_d'Ivoire Ivory Coast
44 302765 CK Cook Islands 17459 OC http://en.wikipedia.org/wiki/Cook_Islands
45 302792 CL Chile 19116209 SA http://en.wikipedia.org/wiki/Chile
46 302565 CM Cameroon 26545864 AF http://en.wikipedia.org/wiki/Cameroon
47 302627 CN China 1410929362 AS http://en.wikipedia.org/wiki/China
48 302793 CO Colombia 50882884 SA http://en.wikipedia.org/wiki/Colombia
49 302731 CR Costa Rica 5094114 NA http://en.wikipedia.org/wiki/Costa_Rica
50 302732 CU Cuba 11326616 NA http://en.wikipedia.org/wiki/Cuba
51 302566 CV Cape Verde 555988 AF http://en.wikipedia.org/wiki/Cape_Verde
52 302762 CW Curaçao 155014 NA http://en.wikipedia.org/wiki/Cura%C3%A7ao
53 302628 CX Christmas Island 1402 AS http://en.wikipedia.org/wiki/Christmas_Island
54 302629 CY Cyprus 1207361 AS http://en.wikipedia.org/wiki/Cyprus
55 302680 CZ Czech Republic 10698896 EU http://en.wikipedia.org/wiki/Czech_Republic
56 302681 DE Germany 83240525 EU http://en.wikipedia.org/wiki/Germany Deutschland
57 302567 DJ Djibouti 988002 AF http://en.wikipedia.org/wiki/Djibouti
58 302682 DK Denmark 5831404 EU http://en.wikipedia.org/wiki/Denmark
59 302733 DM Dominica 71991 NA http://en.wikipedia.org/wiki/Dominica
60 302734 DO Dominican Republic 10847904 NA http://en.wikipedia.org/wiki/Dominican_Republic
61 302568 DZ Algeria 43851043 AF http://en.wikipedia.org/wiki/Algeria
62 302794 EC Ecuador 17643060 SA http://en.wikipedia.org/wiki/Ecuador
63 302683 EE Estonia 1331057 EU http://en.wikipedia.org/wiki/Estonia
64 302569 EG Egypt 100388076 AF http://en.wikipedia.org/wiki/Egypt
65 302570 EH Western Sahara 619811 AF http://en.wikipedia.org/wiki/Western_Sahara Sahrawian
66 302571 ER Eritrea 3621464 AF http://en.wikipedia.org/wiki/Eritrea
67 302684 ES Spain 47351567 EU http://en.wikipedia.org/wiki/Spain
68 302572 ET Ethiopia 114963583 AF http://en.wikipedia.org/wiki/Ethiopia
69 302685 FI Finland 5530719 EU http://en.wikipedia.org/wiki/Finland
70 302766 FJ Fiji 896444 OC http://en.wikipedia.org/wiki/Fiji
71 302795 FK Falkland Islands 2840 SA http://en.wikipedia.org/wiki/Falkland_Islands
72 302767 FM Micronesia 113811 OC http://en.wikipedia.org/wiki/Micronesia
73 302686 FO Faroe Islands 48865 EU http://en.wikipedia.org/wiki/Faroe_Islands
74 302687 FR France 67391582 EU http://en.wikipedia.org/wiki/France
75 302573 GA Gabon 2225728 AF http://en.wikipedia.org/wiki/Gabon
76 302688 GB United Kingdom 67215293 EU http://en.wikipedia.org/wiki/United_Kingdom Great Britain
77 302735 GD Grenada 112519 NA http://en.wikipedia.org/wiki/Grenada
78 302630 GE Georgia 3714000 AS http://en.wikipedia.org/wiki/Georgia_(country)
79 302796 GF French Guiana 294071 SA http://en.wikipedia.org/wiki/French_Guiana French Guyana
80 302689 GG Guernsey 62792 EU http://en.wikipedia.org/wiki/Guernsey
81 302574 GH Ghana 31072945 AF http://en.wikipedia.org/wiki/Ghana
82 302690 GI Gibraltar 33691 EU http://en.wikipedia.org/wiki/Gibraltar
83 302736 GL Greenland 56367 NA http://en.wikipedia.org/wiki/Greenland
84 302575 GM Gambia 2347696 AF http://en.wikipedia.org/wiki/Gambia
85 302576 GN Guinea 13132792 AF http://en.wikipedia.org/wiki/Guinea
86 302737 GP Guadeloupe 395700 NA http://en.wikipedia.org/wiki/Guadeloupe
87 302577 GQ Equatorial Guinea 1402985 AF http://en.wikipedia.org/wiki/Equatorial_Guinea
88 302691 GR Greece 10715549 EU http://en.wikipedia.org/wiki/Greece
89 302616 GS South Georgia and the South Sandwich Islands 3989167 AN http://en.wikipedia.org/wiki/South_Georgia_and_the_South_Sandwich_Islands
90 302738 GT Guatemala 16858333 NA http://en.wikipedia.org/wiki/Guatemala
91 302768 GU Guam 168783 OC http://en.wikipedia.org/wiki/Guam
92 302578 GW Guinea-Bissau 1967998 AF http://en.wikipedia.org/wiki/Guinea-Bissau
93 302797 GY Guyana 786559 SA http://en.wikipedia.org/wiki/Guyana
94 302631 HK Hong Kong 7507400 AS http://en.wikipedia.org/wiki/Hong_Kong
95 302739 HN Honduras 9904608 NA http://en.wikipedia.org/wiki/Honduras
96 302692 HR Croatia 4047200 EU http://en.wikipedia.org/wiki/Croatia
97 302740 HT Haiti 11402533 NA http://en.wikipedia.org/wiki/Haiti
98 302693 HU Hungary 9749763 EU http://en.wikipedia.org/wiki/Hungary
99 302632 ID Indonesia 273523621 AS http://en.wikipedia.org/wiki/Indonesia
100 302694 IE Ireland 4994724 EU http://en.wikipedia.org/wiki/Ireland Eire
101 302633 IL Israel 9216900 AS http://en.wikipedia.org/wiki/Israel
102 302695 IM Isle of Man 85032 EU http://en.wikipedia.org/wiki/Isle_of_Man
103 302634 IN India 1380004385 AS http://en.wikipedia.org/wiki/India
104 302635 IO British Indian Ocean Territory 3000 AS http://en.wikipedia.org/wiki/British_Indian_Ocean_Territory
105 302636 IQ Iraq 40222503 AS http://en.wikipedia.org/wiki/Iraq
106 302637 IR Iran 82913893 AS http://en.wikipedia.org/wiki/Iran
107 302696 IS Iceland 366425 EU http://en.wikipedia.org/wiki/Iceland
108 302697 IT Italy 59554023 EU http://en.wikipedia.org/wiki/Italy Italia
109 302698 JE Jersey 97857 EU http://en.wikipedia.org/wiki/Jersey
110 302741 JM Jamaica 2961161 NA http://en.wikipedia.org/wiki/Jamaica
111 302638 JO Jordan 10203140 AS http://en.wikipedia.org/wiki/Jordan
112 302639 JP Japan 125836021 AS http://en.wikipedia.org/wiki/Japan Nippon
113 302579 KE Kenya 53771300 AF http://en.wikipedia.org/wiki/Kenya
114 302640 KG Kyrgyzstan 6591600 AS http://en.wikipedia.org/wiki/Kyrgyzstan
115 302641 KH Cambodia 16718971 AS http://en.wikipedia.org/wiki/Cambodia
116 302769 KI Kiribati 119446 OC http://en.wikipedia.org/wiki/Kiribati
117 302580 KM Comoros 869595 AF http://en.wikipedia.org/wiki/Comoros جزر القمر
118 302742 KN Saint Kitts and Nevis 53192 NA http://en.wikipedia.org/wiki/Saint_Kitts_and_Nevis
119 302642 KP North Korea 25778816 AS http://en.wikipedia.org/wiki/North_Korea
120 302643 KR South Korea 51269185 AS http://en.wikipedia.org/wiki/South_Korea
121 302720 KS Kosovo 1775378 EU http://en.wikipedia.org/wiki/Kosovo Kosova
122 302644 KW Kuwait 4270563 AS http://en.wikipedia.org/wiki/Kuwait
123 302743 KY Cayman Islands 65720 NA http://en.wikipedia.org/wiki/Cayman_Islands
124 302645 KZ Kazakhstan 18754440 AS http://en.wikipedia.org/wiki/Kazakhstan Kazakh
125 302646 LA Laos 7275556 AS http://en.wikipedia.org/wiki/Laos
126 302647 LB Lebanon 6825442 AS http://en.wikipedia.org/wiki/Lebanon
127 302744 LC Saint Lucia 183629 NA http://en.wikipedia.org/wiki/Saint_Lucia
128 302699 LI Liechtenstein 38137 EU http://en.wikipedia.org/wiki/Liechtenstein
129 302648 LK Sri Lanka 21919000 AS http://en.wikipedia.org/wiki/Sri_Lanka
130 302581 LR Liberia 5057677 AF http://en.wikipedia.org/wiki/Liberia
131 302582 LS Lesotho 2142252 AF http://en.wikipedia.org/wiki/Lesotho
132 302700 LT Lithuania 2794700 EU http://en.wikipedia.org/wiki/Lithuania
133 302701 LU Luxembourg 632275 EU http://en.wikipedia.org/wiki/Luxembourg
134 302702 LV Latvia 1901548 EU http://en.wikipedia.org/wiki/Latvia
135 302583 LY Libya 6871287 AF http://en.wikipedia.org/wiki/Libya
136 302584 MA Morocco 36910558 AF http://en.wikipedia.org/wiki/Morocco
137 302703 MC Monaco 39244 EU http://en.wikipedia.org/wiki/Monaco
138 302704 MD Moldova 2620495 EU http://en.wikipedia.org/wiki/Moldova
139 302705 ME Montenegro 621306 EU http://en.wikipedia.org/wiki/Montenegro
140 302759 MF Saint Martin 38659 NA http://en.wikipedia.org/wiki/Saint_Martin_(France)
141 302585 MG Madagascar 27691019 AF http://en.wikipedia.org/wiki/Madagascar
142 302770 MH Marshall Islands 59194 OC http://en.wikipedia.org/wiki/Marshall_Islands
143 302706 MK Macedonia 2083243 EU http://en.wikipedia.org/wiki/Macedonia
144 302586 ML Mali 20250834 AF http://en.wikipedia.org/wiki/Mali
145 302649 MM Burma 54967748 AS http://en.wikipedia.org/wiki/Burma Myanmar
146 302650 MN Mongolia 3278292 AS http://en.wikipedia.org/wiki/Mongolia
147 302651 MO Macau 640446 AS http://en.wikipedia.org/wiki/Macau Macao
148 302771 MP Northern Mariana Islands 57557 OC http://en.wikipedia.org/wiki/Northern_Mariana_Islands
149 302745 MQ Martinique 374820 NA http://en.wikipedia.org/wiki/Martinique
150 302587 MR Mauritania 4649660 AF http://en.wikipedia.org/wiki/Mauritania
151 302746 MS Montserrat 4992 NA http://en.wikipedia.org/wiki/Montserrat
152 302707 MT Malta 525285 EU http://en.wikipedia.org/wiki/Malta
153 302588 MU Mauritius 1265740 AF http://en.wikipedia.org/wiki/Mauritius
154 302652 MV Maldives 540542 AS http://en.wikipedia.org/wiki/Maldives
155 302589 MW Malawi 19129955 AF http://en.wikipedia.org/wiki/Malawi
156 302747 MX Mexico 128932753 NA http://en.wikipedia.org/wiki/Mexico
157 302653 MY Malaysia 32365998 AS http://en.wikipedia.org/wiki/Malaysia
158 302590 MZ Mozambique 31255435 AF http://en.wikipedia.org/wiki/Mozambique
159 302591 NA Namibia 2540916 AF http://en.wikipedia.org/wiki/Namibia
160 302772 NC New Caledonia 271960 OC http://en.wikipedia.org/wiki/New_Caledonia
161 302592 NE Niger 24206636 AF http://en.wikipedia.org/wiki/Niger
162 302773 NF Norfolk Island 1748 OC http://en.wikipedia.org/wiki/Norfolk_Island
163 302593 NG Nigeria 206139587 AF http://en.wikipedia.org/wiki/Nigeria
164 302748 NI Nicaragua 6624554 NA http://en.wikipedia.org/wiki/Nicaragua
165 302708 NL Netherlands 17441139 EU http://en.wikipedia.org/wiki/Netherlands Holland
166 302709 NO Norway 5379475 EU http://en.wikipedia.org/wiki/Norway
167 302654 NP Nepal 29136808 AS http://en.wikipedia.org/wiki/Nepal
168 302774 NR Nauru 10834 OC http://en.wikipedia.org/wiki/Nauru
169 302775 NU Niue 1626 OC http://en.wikipedia.org/wiki/Niue
170 302776 NZ New Zealand 5084300 OC http://en.wikipedia.org/wiki/New_Zealand
171 302655 OM Oman 5106622 AS http://en.wikipedia.org/wiki/Oman
172 302749 PA Panama 4314768 NA http://en.wikipedia.org/wiki/Panama
173 302798 PE Perú 32971846 SA http://en.wikipedia.org/wiki/Perú
174 302777 PF French Polynesia 280904 OC http://en.wikipedia.org/wiki/French_Polynesia
175 302778 PG Papua New Guinea 8947027 OC http://en.wikipedia.org/wiki/Papua_New_Guinea
176 302656 PH Philippines 109581085 AS http://en.wikipedia.org/wiki/Philippines Philippine;Phillipines Philipines
177 302657 PK Pakistan 220892331 AS http://en.wikipedia.org/wiki/Pakistan
178 302710 PL Poland 37950802 EU http://en.wikipedia.org/wiki/Poland
179 302750 PM Saint Pierre and Miquelon 5794 NA http://en.wikipedia.org/wiki/Saint_Pierre_and_Miquelon
180 302779 PN Pitcairn 193 OC http://en.wikipedia.org/wiki/Pitcairn
181 302751 PR Puerto Rico 3194034 NA http://en.wikipedia.org/wiki/Puerto_Rico
182 302658 PS Palestinian Territory 5101414 AS http://en.wikipedia.org/wiki/Palestinian_Territory
183 302711 PT Portugal 10305564 EU http://en.wikipedia.org/wiki/Portugal
184 302780 PW Palau 18092 OC http://en.wikipedia.org/wiki/Palau
185 302799 PY Paraguay 7132530 SA http://en.wikipedia.org/wiki/Paraguay
186 302659 QA Qatar 2881060 AS http://en.wikipedia.org/wiki/Qatar
187 302594 RE Réunion 895312 AF http://en.wikipedia.org/wiki/Réunion Île Bourbon;La Réunion
188 302712 RO Romania 19286123 EU http://en.wikipedia.org/wiki/Romania
189 302713 RS Serbia 6908224 EU http://en.wikipedia.org/wiki/Serbia Serb
190 302714 RU Russia 144104080 EU http://en.wikipedia.org/wiki/Russia Soviet;Sovietskaya, Sovetskaya
191 302595 RW Rwanda 12952209 AF http://en.wikipedia.org/wiki/Rwanda
192 302660 SA Saudi Arabia 34813867 AS http://en.wikipedia.org/wiki/Saudi_Arabia
193 302781 SB Solomon Islands 686878 OC http://en.wikipedia.org/wiki/Solomon_Islands
194 302596 SC Seychelles 98462 AF http://en.wikipedia.org/wiki/Seychelles
195 302597 SD Sudan 43849269 AF http://en.wikipedia.org/wiki/Sudan
196 302715 SE Sweden 10353442 EU http://en.wikipedia.org/wiki/Sweden
197 302661 SG Singapore 5685807 AS http://en.wikipedia.org/wiki/Singapore
198 302598 SH Saint Helena 6077 AF http://en.wikipedia.org/wiki/Saint_Helena
199 302716 SI Slovenia 2100126 EU http://en.wikipedia.org/wiki/Slovenia
200 302717 SK Slovakia 5458827 EU http://en.wikipedia.org/wiki/Slovakia
201 302599 SL Sierra Leone 7976985 AF http://en.wikipedia.org/wiki/Sierra_Leone
202 302718 SM San Marino 33938 EU http://en.wikipedia.org/wiki/San_Marino
203 302600 SN Senegal 16743930 AF http://en.wikipedia.org/wiki/Senegal
204 302601 SO Somalia 15893219 AF http://en.wikipedia.org/wiki/Somalia
205 302800 SR Suriname 586634 SA http://en.wikipedia.org/wiki/Suriname
206 302614 SS South Sudan 11193729 AF http://en.wikipedia.org/wiki/South_Sudan
207 302602 ST São Tomé and Principe 219159 AF http://en.wikipedia.org/wiki/São_Tomé_and_Principe
208 302752 SV El Salvador 6486201 NA http://en.wikipedia.org/wiki/El_Salvador Salvadorian;Salvadorean
209 302761 SX Sint Maarten 40812 NA http://en.wikipedia.org/wiki/Sint_Maarten
210 302662 SY Syria 17500657 AS http://en.wikipedia.org/wiki/Syria
211 302603 SZ Swaziland 1178502 AF http://en.wikipedia.org/wiki/Swaziland
212 302753 TC Turks and Caicos Islands 38718 NA http://en.wikipedia.org/wiki/Turks_and_Caicos_Islands
213 302604 TD Chad 16425859 AF http://en.wikipedia.org/wiki/Chad
214 302617 TF French Southern Territories 400 AN http://en.wikipedia.org/wiki/French_Southern_Territories
215 302605 TG Togo 8278737 AF http://en.wikipedia.org/wiki/Togo
216 302663 TH Thailand 69799978 AS http://en.wikipedia.org/wiki/Thailand Siam;Siamese
217 302664 TJ Tajikistan 9537642 AS http://en.wikipedia.org/wiki/Tajikistan Tajik
218 302782 TK Tokelau 1357 OC http://en.wikipedia.org/wiki/Tokelau
219 302665 TL Timor-Leste 1318442 AS http://en.wikipedia.org/wiki/Timor-Leste East Timor
220 302666 TM Turkmenistan 6031187 AS http://en.wikipedia.org/wiki/Turkmenistan
221 302606 TN Tunisia 11818618 AF http://en.wikipedia.org/wiki/Tunisia
222 302783 TO Tonga 105697 OC http://en.wikipedia.org/wiki/Tonga
223 302667 TR Turkey 84339067 AS http://en.wikipedia.org/wiki/Turkey
224 302754 TT Trinidad and Tobago 1399491 NA http://en.wikipedia.org/wiki/Trinidad_and_Tobago
225 302784 TV Tuvalu 11792 OC http://en.wikipedia.org/wiki/Tuvalu
226 302668 TW Taiwan 23816775 AS http://en.wikipedia.org/wiki/Taiwan
227 302607 TZ Tanzania 59734213 AF http://en.wikipedia.org/wiki/Tanzania
228 302719 UA Ukraine 44134693 EU http://en.wikipedia.org/wiki/Ukraine
229 302608 UG Uganda 45741000 AF http://en.wikipedia.org/wiki/Uganda
230 302785 UM United States Minor Outlying Islands 315 OC http://en.wikipedia.org/wiki/United_States_Minor_Outlying_Islands
231 302755 US United States 329484123 NA http://en.wikipedia.org/wiki/United_States America
232 302801 UY Uruguay 3473727 SA http://en.wikipedia.org/wiki/Uruguay
233 302669 UZ Uzbekistan 34232050 AS http://en.wikipedia.org/wiki/Uzbekistan Uzbek
234 302721 VA Vatican City 825 EU http://en.wikipedia.org/wiki/Vatican_City The Holy See
235 302756 VC Saint Vincent and the Grenadines 110947 NA http://en.wikipedia.org/wiki/Saint_Vincent_and_the_Grenadines
236 302802 VE Venezuela 28515829 SA http://en.wikipedia.org/wiki/Venezuela
237 302757 VG British Virgin Islands 30237 NA http://en.wikipedia.org/wiki/British_Virgin_Islands
238 302758 VI U.S. Virgin Islands 106290 NA http://en.wikipedia.org/wiki/U.S._Virgin_Islands
239 302670 VN Vietnam 97338583 AS http://en.wikipedia.org/wiki/Vietnam
240 302786 VU Vanuatu 307150 OC http://en.wikipedia.org/wiki/Vanuatu
241 302787 WF Wallis and Futuna 11239 OC http://en.wikipedia.org/wiki/Wallis_and_Futuna
242 302788 WS Samoa 198410 OC http://en.wikipedia.org/wiki/Samoa
243 302671 YE Yemen 29161922 AS http://en.wikipedia.org/wiki/Yemen
244 302609 YT Mayotte 270372 AF http://en.wikipedia.org/wiki/Mayotte
245 302610 ZA South Africa 59308690 AF http://en.wikipedia.org/wiki/South_Africa
246 302611 ZM Zambia 18383956 AF http://en.wikipedia.org/wiki/Zambia
247 302612 ZW Zimbabwe 14862927 AF http://en.wikipedia.org/wiki/Zimbabwe
248 302613 ZZ Unknown or unassigned country 0 AF http://en.wikipedia.org/wiki/Unknown_or_unassigned_country

46
database-init/initialize-db.sh Executable file
View file

@ -0,0 +1,46 @@
#!/usr/bin/env bash
Bold='\033[1m' # Bold
NC='\033[0m' # No Color
# To change this banner, go to http://patorjk.com/software/taag/#p=display&f=Big&t=Lunatech%0ACOVID%0AAssessment
cat << "EOF"
_ _ _
| | | | | |
| | _ _ _ __ __ _| |_ ___ ___| |__
| | | | | | '_ \ / _` | __/ _ \/ __| '_ \
| |___| |_| | | | | (_| | || __/ (__| | | |
|______\__,_|_| |_|\__,_|\__\___|\___|_| |_|
_____ ______ _______ _____
/ ____/ __ \ \ / /_ _| __ \
| | | | | \ \ / / | | | | | |
| | | | | |\ \/ / | | | | | |
| |___| |__| | \ / _| |_| |__| | _
\__/\_\____/ \/ |_____|_____/ | |
/ \ ___ ___ ___ ___ ___ _ __ ___ ___ _ __ | |_
/ /\ \ / __/ __|/ _ \/ __/ __| '_ ` _ \ / _ \ '_ \| __|
/ ____ \\__ \__ \ __/\__ \__ \ | | | | | __/ | | | |_
/_/ \_\___/___/\___||___/___/_| |_| |_|\___|_| |_|\__|
EOF
echo -e "${Bold}Initializing schema...${NC}"
psql --host=postgres --username=postgres -w -d lunatech_covid -f ./schema.sql &&
echo -e "\n${Bold}Initializing countries...${NC}"
psql --host=postgres --username=postgres -w -d lunatech_covid -c "\copy countries(id, code, name, population, continent, wikipedia_link, keywords) FROM 'countries.csv' DELIMITER ',' CSV HEADER"
echo -e "\n${Bold}Initializing airports...${NC}"
psql --host=postgres --username=postgres -w -d lunatech_covid -c "\copy cases(recorded_date,infections,deaths,iso_country) FROM 'cases.csv' DELIMITER ',' CSV HEADER"
echo -e "\n${Bold}Initializing runways...${NC}"
psql --host=postgres --username=postgres -w -d lunatech_covid -c "\copy vaccinations(recorded_date,daily_vaccinations_raw,daily_vaccinations,iso_country) FROM 'vaccinations.csv' DELIMITER ',' CSV HEADER"
# To change this banner, go to http://patorjk.com/software/taag/#p=display&f=Big&t=DB%20ready%20to%20use!
cat << "EOF"
_____ ____ _ _ _
| __ \| _ \ | | | | | |
| | | | |_) | _ __ ___ __ _ __| |_ _ | |_ ___ _ _ ___ ___| |
| | | | _ < | '__/ _ \/ _` |/ _` | | | | | __/ _ \ | | | / __|/ _ \ |
| |__| | |_) | | | | __/ (_| | (_| | |_| | | || (_) | | |_| \__ \ __/_|
|_____/|____/ |_| \___|\__,_|\__,_|\__, | \__\___/ \__,_|___/\___(_)
__/ |
|___/
EOF

29
database-init/schema.sql Normal file
View file

@ -0,0 +1,29 @@
CREATE TABLE IF NOT EXISTS countries (
id INTEGER CONSTRAINT PK_COUNTRIES PRIMARY KEY,
code VARCHAR(10) NOT NULL,
name VARCHAR(255) NOT NULL,
population INTEGER NOT NULL,
continent VARCHAR(10) NOT NULL,
wikipedia_link VARCHAR(255),
keywords VARCHAR(100),
CONSTRAINT UNQ_CODE UNIQUE(code),
CONSTRAINT UNQ_NAME UNIQUE(name)
);
CREATE TABLE IF NOT EXISTS cases (
recorded_date DATE,
infections INTEGER NOT NULL,
deaths INTEGER NOT NULL,
iso_country VARCHAR(10),
PRIMARY KEY (recorded_date, iso_country),
FOREIGN KEY (iso_country) REFERENCES countries(code)
);
CREATE TABLE IF NOT EXISTS vaccinations (
recorded_date DATE,
daily_vaccinations_raw INTEGER,
daily_vaccinations INTEGER,
iso_country VARCHAR(10),
PRIMARY KEY (recorded_date, iso_country),
FOREIGN KEY (iso_country) REFERENCES countries(code)
);

28513
database-init/vaccinations.csv Normal file

File diff suppressed because it is too large Load diff

35
docker-compose.yaml Normal file
View file

@ -0,0 +1,35 @@
version: '2.1'
services:
postgres:
image: postgres:13
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=lunatech_covid
ports:
- "5432:5432"
networks:
- default
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: none
postgres-init:
image: postgres:13
depends_on:
postgres:
condition: service_healthy
environment:
- PGPASSWORD=postgres
volumes:
- ./database-init/initialize-db.sh:/initialize-db.sh
- ./database-init/schema.sql:/schema.sql
- ./database-init/cases.csv:/cases.csv
- ./database-init/countries.csv:/countries.csv
- ./database-init/vaccinations.csv:/vaccinations.csv
command: bash -c "sleep 10 && chmod u+x /initialize-db.sh && /initialize-db.sh"