Project code
https://github.com/hsinhu/507final-project-covid19
Demo Video
You can click this video link to see how this website works.
https://drive.google.com/file/d/1GZugc6BQdgDmYOzW3rWrdUUsuloBJLY2/view
Goal for this website
The COVID-19 pandemic is risking our lives and I want to provide a website to illustrate the situation of it worldwide, including:
- Build the latest COVID-19 map for the world using Covid19 API
- Build the latest COVID-19 map for the US by crawling New York Times Coronavirus websites.
- Visualize the latest county cases in user-selected states by bar plot.
- Plot COVID-19 projections for US states like estimated total deaths, needed beds, etc. in the future several months.
Data Source
- New York Times Coronavirus websites
- Origin
- https://www.nytimes.com/interactive/2020/us/coronavirus-us-cases.html (Data for states)
- https://www.nytimes.com/interactive/2020/us/michigan-coronavirus-cases.html (Data for counties in one state)
- Format: HTML
- Access: Use selenium and bs4 to crawl and scrape the data for states to get data for all the states in the US and web page link for each state. Also, use the same method to get data for counties in each state. I use caches for all the pages.
- Origin
- Covid19 API
- Origin:
- Format: JSON
- Access: Use https://covidapi.info/api/v1/global/latest and request to get the latest data for the world. I use a cache for access.
- COVID-19 Projections
- Origin: URL: http://www.healthdata.org/covid/data-downloads
- Format: CSV
- Access: Download the CSV file from the link above and import data in the CSV file to the database.
Interaction and Presentation Plans
I have built a website by Django to provide 4 visualization options for users, including World Cases, US State Cases, US County Cases, US Projection, whose instruction and links are shown on the home page. The front-end is built by Bootstrap 4. The home page is shown below.

1. World Cases page
For World Cases page, it shows today’s world map of COVID19, where users can select Confirmed, Deaths, and Recovered for the world map. Default is Confirmed. A country has more cases and will has a deeper color than other countries. When users hover the map, it will show the exact case number for the country.

2. US State Cases page
For US State Cases page, it shows today’s US map of COVID19, where user can select Confirmed, Confirmed Per Capita (per 100,000 people), Deaths, Deaths Per Capita to show. Default is also Confirmed. When users hover the map, it will show the exact case number for the state. Also, a state has more cases and will has deeper color than other states.

3. US County Cases page
For US County Cases, it can show all counties, top 5 counties, or top 10 counties of user-selected states in user-selected fields including Confirmed, Confirmed Per Capita, Deaths, Deaths Per Capita by bar plot. The data has been sorted by the selected field and the bar plot from left to right is in descending order. The default is Michigan, Confirmed, all counties.

4. US Projection page
For US Projection, it shows projected daily needed medical resources, daily death number, and total death number from covid19 start to future for selected state by users. This includes 4 line charts for each state. The first is medical resources needed which shows all needed beds, needed ICU beds, and needed invasive ventilation together. The second is the medical resources shortage which shows all needed beds shortage and needed ICU beds shortage together. The third is deaths per day. The fourth is the total deaths. Users can select all states they want. The default is the whole US.
