Skip to content
This repository has been archived by the owner on Aug 3, 2023. It is now read-only.

🦠 Django + Plotly Coronavirus dashboard. Powerful data driven Python web-app, with an awesome UI. Contributions welcomed! Featured on 🕶Awesome-list

License

Notifications You must be signed in to change notification settings

BrianRuizy/covid19-dashboard

Repository files navigation

Covid 19 Interactive Dashboard

Awesome Gitter chat Build Status MIT License Made with Pthon

read blog Read blog post on my website, covering how we built this! And, don't forget to leave a star ⭐!

read blog covid-dashboard-3-devices

About

Coronavirus disease (COVID-19) is an infectious disease caused by a newly discovered coronavirus. At this time, there are no specific vaccines or treatments for COVID-19. The best way to prevent and slow down transmission is be well informed about the COVID-19 virus. who.int

The goal of this project is not to build just another dashboard. But, to focus on collaborative plot ideas, and a mobile friendly UI/UX. Feel free to open an issue requesting a type of plot, table, or any feature for that matter. Join the repo's Gitter chat.

Getting Started

Prerequisites

  • Python; pyenv recommended
  • Pip

Installing

Get the project up and running locally in just 5 easy steps.

  1. Create a personal Fork of this repository.

  2. Clone the fork with HTTPS, using your local terminal to a preferred location, and cd into the project.

git clone https://github.com/your_username/covid19-dashboard.git

Cloning into 'covid19-dashboard'...
remote: Enumerating objects: 113, done.
remote: Counting objects: 100% (113/113), done.
remote: Compressing objects: 100% (80/80), done.
Receiving objects: 100% (2845/2845), 12.52 MiB | 5.21 MiB/s, done.

cd covid19-dashboard/
  1. Create your virtual environment, and activate it.
python -m venv env

source env/bin/activate  # Linux/Mac
env/Scripts/activate  # Windows
  1. Install dependencies
pip install -r requirements.txt
  1. Run local server, and DONE!
python manage.py runserver

May 06, 2020 - 11:22:23
Django version 3.0.6, using settings 'core.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Deployment

Heroku app is already configured to this repository for automatic deploys from any push to the master branch. Create a pull request containing your respective changes and wait for merge.

Reading data locally

You can go through all the available datasets by going into the /processdata directory, launching a interactive python shell, importing getdata file, and calling any function. See below...

cd ~/repos/covid19-dashboard/processdata
$ python

Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 
...

>>> import getdata
>>> getdata.realtime_growth()

         Confirmed  Deaths  Recovered
Date
1/22/20        555      17         28
1/23/20        654      18         30
...            ...     ...        ...
8/2/20    18079723  689362   10690555
8/3/20    18282208  693694   10913000

[195 rows x 3 columns]

Built With

  • Django Django is a high-level Web framework that encourages rapid development and clean, pragmatic design.
  • Plotly The leading front-end for ML & data science models in Python, R, and Julia.
  • Appseed
  • Bootstrap

Data Sources

  • Johns Hopkins University: CSSE 2019-ncov data repository, found here.
  • Our World in Data: OWID GitHub Data repository, found here.
  • New York Times' COVID GitHub data repository, found here

License

@MIT