Coder Social home page Coder Social logo

dash-covid19's Introduction

dash-covid19: A Dash App for Covid-19 Data

Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed.

GPLv3 License

Travis Build Status

This project is using Percy.io for visual regression testing.

Code Coverage

Updates

Documentation Status

Codestyle - Blacks

Introduction

dash-covid19 is a Dash app for viewing up-to-date information related to the spread of Covid-19 using the data provided by a variety of sources collated by Our World in Data.

Docs and Code

This app is hosted by Heroku and lives here.

The helpful hints are embedded throughout the app. Any where you see underlined text, you can mouse over to get a pop-up about what each component does.

The documentation lines here.

The code lives in here.

Usage

The app contains 5 pages and 3 external links. The home page provides a brief summary of all the assorted links within the app, as well as an explanation of why I built the app.

The "Overview" page provides a concise display that summarises the impact of Covid-19 in a country using population adjusted statistics.

The "Explorer" page provides an interactive graph to help the user, well, explore the most up-to-date Covid-19 data. This page is constantly changing, so check back to see how the graphs evolve!

The "World Map" pages provides an interactive, global map that plots information on top of, well, a map! Here you can see not only interactions, but regional impacts as well. You can change the data represented by the size and colour of the dots.

The "Data Table" pages displays the data in an interactive table that allows the user to sort and filter columns of interest. The four left-most columns (iso_code, continent, location, and date) remain fixed as you scroll.

As this project is proudly open source, the Navbar also includes three external links. These will take you back to this repo to view the code, to OWID's repo to view the data, or to ReadTheDocs to view the source code documentation. This way, you can see exactly where the data comes from, and how it is being handled.

About the Data

Fundametally, good data science requires two things: good data and good questions. Since good questions frequently evolve from exploratory data analysis, one could argue that good data science needs only one things: good data. Crap in, crap out, as they say... Now, how does one get data? As a trained biologist, my first thought is structured experiments, with repeated samples, controls groups, and as many data points as feasibly possible. Unfortunately, this structured framework isn't always possible, particularly when dealing with rpaidly evolving, as-of-yet not fully understood situations like the current Covid-19 pandemic. In these cases, where limitations are inherent to the problem, transparency becomes critical. We must accept that the data are not, and cannot be, perfect, recognise the limitations in the data, and be open about any limitations when discussing interpretations of the data.

To that end, I have elected to use data collated by the team at Our World in Data (OWID) when constructing my app. The data are freely avaialble, and can be found in their repo. Their principle source of data is the European Center for Disease Prevention and Control (ECDC), who provide daily updates of worldwide statistics. OWID thoroughly discusses all their sources, methods for data handling, and the reasoning behind any decisions they make relating to data management. Please, visit their repo for any questions you may have about the data.

Recent Changes

Please see the CHANGELOG

Contributing

If you would like to contribute to development, please see the instructions <CONTRIBUTING.md>

Next Steps

  • Update data summary colours based on 7 day averages
  • Continue to expand documentation
  • Caching to improve performance

Thank Yous

  • Dash for developing an incredible framework and excellent documentation.
  • Dash Bootstrap Components for making it so much easier to layout the app.
  • OWID for providing an incredible resource amid a rapidly evolving situation.

dash-covid19's People

Contributors

rbpatt2019 avatar pyup-bot avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

dash-covid19's Issues

Negative values in data prevent graph rendering

Some columns (new_cases, new_deaths were where it is noticed) containing a small number of negative values. This causes the graph to fail to render with no obvious error.

Solution: crop values to 0 for plot, but not for data table.

Realistically, I just need to migrate to an SQL database.

Deploys to Heroku fail

Deploying to Heroku with tags from the master branch fails because You do not have access to the app dash-covid19.

select_dcc_dropwdown fails when located beneath reactive graph

I'm using dash_duo.select_dcc_dropwdownto test callbacks related to the dropdown. Interestingly, the test fails if the dropdown is located below the reactive graph, as the element cannot be found. However, if it is located above the graph, or if there is no graph at all, the tests pass as expected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.