A Coronavirus Dashboard that updates information realtime using Streamlit as the primary UI engine.
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
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"])
Similarly, one can create dropdowns, checkboxes and a bunch of other UI designs.
import streamlit as st
st.sidebar.selectbox("Granularity", ["Worldwide", "Country"])
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)
Clone the repository and install dependencies:
pip3 install -r requirements.txt
Run the app using streamlit
streamlit run app.py
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.
Feel free to send pull requests and/or add issues.