Skip to content

Sayar1106/covid-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

covid-dashboard

Language Code Quality Repo Size GitHub language count Stars Forks Issues License

A Coronavirus Dashboard that updates information realtime using Streamlit as the primary UI engine.

mona-lisa-mask

Data Source

The data source is the repository maintained by the Center of Systems Science and Engineering at Johns Hopkins University. It is the same data source used to power the very famous COVID dashboard

Overview

Streamlit offers a beautiful UI to create data apps very easily. I was able to create the side menu just using one line of code.

import streamlit as st

st.sidebar.radio("Navigate", 
                 ["Home", "Data",
                  "Dashboard", "About", 
                  "Contribute"])

menu-image

Similarly, one can create dropdowns, checkboxes and a bunch of other UI designs.

import streamlit as st

st.sidebar.selectbox("Granularity", ["Worldwide", "Country"])

dropdown

The graphs were created using plotly. Since streamlit supports multiple graphical libraries, rendering plotly chart were very easy. Just pass the plotly figure object into the st.plotly_chart() function.

import streamlit as st
import plotly.express as px

fig = px.bar(x=df["X"], 
             y=df["Y"])

st.plotly_chart(fig)

graphs

How to run

Clone the repository and install dependencies:

pip3 install -r requirements.txt

Run the app using streamlit

streamlit run app.py

Rendering Mapbox graph

In order to access the Province/State graph, you will have to create an account on mapbox

Once you create an access token via mapbox do the following on your terminal:

mkdir src/pages/utils/tokens

This will create a directory called tokens under utils. Once this is done, create a file called .mapbox_token and paste your access token from mapbox over there.

Contribute

Feel free to send pull requests and/or add issues.

About