chinarjoshi / covid19-date-selector

Visualize the spread of COVID-19 on a day-by-day basis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

COVID-19 Date Selector

Visualize the spread of COVID-19 on a day-by-day basis
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

This project was submitted to Georgia Tech Hacklytics

example-image

Inspiration

While researching for COVID-19 data, I noticed that all of the popular visualization resources either only showed the current situation, or showed a quick timeline. This is not very helpful for researching the number of cases in a specific county on any day as it provides too general of a visualization. Thus, I created a day-by-day visualization tool that allows researchers to query the data for a specific day in a user friendly and visually appealing way.

What it does

This is a web API to allow the user to visualize a snapshot of the COVID-19 situation in the USA on a specific day. The user can see exactly how many cases there were in a specific county in this snapshot of time.

How I built it

This application is built using Dash with Python, the Plotly library to generate the choropleth map, and the Bootstrap framework to quickly develop the CSS. The New York Time's COVID-19 dataset was used along with a JSON map of the United States from Plotly.

Challenges I ran into

It was difficult to actually find the data in a usable form online, because it was either fragmented or contained irrelevant data to my purpose. This introduced me to the pandas libraries to clean and filter the dataset. I've also never worked with visualizations of datasets before, so the hardest part was actually starting.

Accomplishments that I'm proud of

I created my first deployable web API and made a visually appealing application to solve a real world problem, while introducing me to data science concepts along the way.

What I learned

I learned the fundamentals of data science through cleaning and filtering data and how to make useful visualizations by taking advantage of python's many data science libraries. I also learned how to use a new web application framework with Dash.

Built With

Getting Started

No API key is needed to access the tool, so the application may be locally run through the python file.

Prerequisites

The prerequisite frameworks and libraries are dash, plotly, and pandas.

  • pip
    pip install requirements.txt

Installation

Compile Source

  1. Clone the repo
    git clone https://github.com/cjoshi7/covid19-date-selector
  2. Install prerequisite packages
    pip install requirements.txt
  3. Directly run the python file
    python covid19-date-selector/app.py

Docker

  1. TODO

Usage

example-image

This tool can be used for research purposes to find the exact number of cases in a specific county on any day. It is useful to see the patterns of infection and death rate increases/decreases. For example, it can be seen that the number of infections skyrocketed in early January after the holiday season. The tool is useful for establishing patterns such as this.

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

The following features will be implemented in the indefinite future:

  1. Expanded dataset to include:
    • Mask usage
    • Population Density
    • Demographic breakdown
  2. Dark theme
  3. An option to use the program in the command line

Contributing

Any contributions to extend features are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/newFeature)
  3. Commit your Changes (git commit -m 'Add NewFeature')
  4. Push to the Branch (git push origin feature/newFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Chinar Joshi - chinarjoshi7@gmail.com - Linkedin

Project Link: Github

Acknowledgements

About

Visualize the spread of COVID-19 on a day-by-day basis

License:MIT License


Languages

Language:Python 95.9%Language:CSS 4.1%