A simple, elegent and powerful web app to display different country related data. Besides, it includes a bunch of useful REST APIs to retrieve country data. Live Demo
- python >= 3.8
To run this web app on local machine, the python packages need to be installed are -
Or packages can be install with single command as below -
pip install Django==3.2.4 djangorestframework requests whitenoise virtualenv
Also needs to install git
to setup 'Countries!!!' web app easily. To install git
on linux (tested on ubuntu 20.04 LTS), please run this command -
sudo apt-get install -y git
To install on macOS, windows and other distros of linux, please visit the official page.
For step by step setup procedure, please see the User Guide section below.
Here is the user guideline to setup 'Countries!!!' web app on local machine (Linux - tested on ubuntu 20.04 LTS).
At first install virtualenv python package via pip -
pip install virtualenv
Create a virtual environment -
virtualenv vCountries
Here vCountries can be any name. Activate virtual environment -
source vCountries/bin/activate
At first install git
via bash
command on terminal -
sudo apt-get install -y git
Create an empty directory. Let's in our case it is django. Change directory to django -
mkdir django
cd django
Now clone this repository via git clone
command on terminal -
git clone https://github.com/FahimSifnatul/strativ.git
Run below python
commands on terminal to setup NoSQL database SQLite3 -
python manage.py makemigrations
python manage.py migrate
We are just one step away from successful 'Countries!!!' web app setup. Run below python
command on terminal to play with the web app -
python manage.py runserver 127.0.0.1:8000
Done. Simple, isn't it? Enjoy rich data about all countries of the world.
/collect-api
- To collect details data from REST Countries API/list-countries
- Returns details info about all countries in JSON format/details-country/<country_name>
- Return details info about specific country in JSON format/create-country/
- To create new country data/update-country/<country_name>
- To update existing country data/delete-country/<country_name>
- To delete specific country data/neighbouring-countries/<country_name>
- Returns a list of neighbouring countries of a specific country in JSON format/same-language-countries/<language>
- Returns a list of countries having common language in JSON format/search-country/<country_name>
- Returns a country data if exists
[N.B.: replace <country_name> with a valid country name e.g. Bangladesh and <language> with a valid language e.g. Bengali]
It's an open source project. Everybody is welcomed to contribute.
Countries!!! web app can be copied, modified, distributed for both personal and commercial purposes under MIT License