A Dashboard built with data from the JHU.
View Demo
·
Report Bug
·
Request Feature
In this project, I've used the publicly available Covid-19 Data from the Center for Systems Science and Engineering (CSSE) at Johns Hopkins University to build a dashboard containing useful informations about the spread of the virus.
This project has been realized using AWS EC2, AWS RDS, PostgreSQL, Metabase and a bit of Python & Bash. All credit regarding the data itself belongs to the amazing people of the CSSE at JHU.
To get a local copy up and running follow these simple steps.
I'd advice you to create an own virtual environment for this project. I'm using Anaconda.
- Clone the repo
git clone https://github.com/dariustorabian/corona-dashboard.git
- Install dependencies with the requirements.txt
conda create --name <NameOfEnvironment> --file requirements.txt
-
Run get_and_clean_data.py. This script will fetch the newest data and output cleaned csvs with data on regional- and country-level.
-
If you'd like to push the data to your DB, please provide an environment variable in the format
DB_STRING=mysql://username:password@host/dbname
Then run db_update.py. I've only used data on country-level, therefore this script will only push the csv with country-level data to the DB you specify.
-
Set up Metabase on your machine, connect the DB and create your own Dashboard. I've used an AWS EC2 for that and AWS RDS as the DB.
-
With the help of the included
countries_mapping.csv
from DataHub.io it is possible to match the data with ISO 3166-1 country codes to easily display the data on maps inside Metabase. -
Execute the provided corona_update.sh once a day to get the newest data pushed into your DB. I automated this process with a cronjob.
Currently, there are no new features in planning. This could change though, so feel free to check back again.
You can also always take a look at the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Darius Torabian
- Feel free to contact me via mail.
- Here's my linkedin profile.
- My twitter-handle is:@darius_torabian.
- This is my website.
Project Link: https://github.com/dariustorabian/corona-dashboard