github.com/klazich/covid-19

A GraphQL API server on top of a MongoDB database for COVID-19 time series data for counties in the United States.

Open this visualization on its own page →

Contributors

3

Lines of Code

451

From

2020-05-26

To

2021-02-01

About klazich/covid-19

This project is a GraphQL API server built with MongoDB that provides access to COVID-19 time series data for counties across the United States. The data originates from Johns Hopkins University's COVID-19 Data Repository and includes confirmed case counts tracked daily over time alongside geographic and demographic information for each county.

The system handles a complete data pipeline, fetching CSV files from the Johns Hopkins repository and parsing them with tools like axios and papaparse. The raw data is then transformed and cleaned to conform to both mongoose and GraphQL schemas, resulting in over 500,000 documents stored in MongoDB that can be queried through the GraphQL endpoint. A production version was previously hosted on Heroku with automated daily updates, though that deployment is no longer active.

The project is designed for developers who want to build applications around US COVID-19 county-level data. It includes comprehensive local development setup with Node.js and MongoDB, a GraphQL playground for testing queries, and options to limit dataset size during initial testing. The codebase supports both GET and POST request methods for querying the API, with examples provided in multiple formats including cURL and JavaScript fetch.

Share this video