Sign inSign up

desholmes/covid-19-us-api

By desholmes

•Updated over 6 years ago

A REST API for the US COVID-19 data

Image
0

2.3K

desholmes/covid-19-us-api repository overview

⁠COVID-19 US Data REST API

A REST API for the US COVID-19 data gathered by nytimes⁠.

⁠Docker Image Details

hub.docker.com/repository/docker/desholmes/covid-19-us-api⁠.

  • Registry: desholmes
  • Repository name: covid-19-us-api
  • Current version: 1.0.5

⁠Using the API

A hosted version version of the API can be found at covid-19-us-api.dholmes.co.uk⁠.

The following starts a local server running on port 8000:

docker run -it -p 8000:8000 desholmes/covid-19-us-api:1.0.0
URLDescriptionHosted LinkLocal Link
/us/counties/Returns county-level data: date, county, state, fips, cases, deathshosted⁠local⁠
/us/counties/?date=2020-03-20Returns county-level data for a date: date, county, state, fips, cases, deathshosted⁠local⁠
/us/states/Returns state-level data: date, county, state, fips, cases, deathshosted⁠local⁠
/us/states/?date=2020-03-20Returns state-level data for a date: date, county, state, fips, cases, deathshosted⁠local⁠

⁠Getting Started (Development)

⁠Prerequisites
  1. Installation of Docker CE⁠
  2. Installation of git SCM⁠
  3. Knowledge of Python 3.7.3⁠
  4. Knowledge of Django 3.0.4⁠
  5. Knowledge of Django REST framework 3.11.0⁠

Development takes place inside a docker container to:

  1. Remove the need for a local virtual environment
  2. Ensure the DEV environment is a close as possible to PROD
⁠Set up
  1. Complete the 'Getting Started > Prerequisites' section
  2. By default the app is configure for local development. Running make build-cold stand your local env up from scratch (not to be used for PROD)
  3. Open 0.0.0.0:8000⁠ in a browser to see the app running
  4. Changing files in covid_19_us will cause the app to reload
  5. Press CTL+c to stop the docker container

If you want to configure the application step-by-step follow the steps below:

  1. Run make setup: To create the .env file from .env-dist
  2. Configure the following in .env:
    1. PORT: The port the Django server will be exposed on (default 8000)
    2. DEBUG: Enable the app to run in development mode using python3 manage.py runserver, with live reloading of files changed in covid_19_us (default 1)
    3. DEV: Enables DEBUG⁠ for the app (default 1)
    4. QA: Enables flake8⁠ to be run against code on initial run, not live reload (default 1)
    5. SECRET_KEY: Secret key for the app, replace add_me with a random string (default 'add_me')
  3. Run make build: To create the docker image
  4. Run make run: To run the docker image as a container
  5. Open 0.0.0.0:8000⁠ in a browser to see the app running
  6. The 2 above commands can be run using make build-run
  7. Press CTL+c to stop the docker container

⁠Credits

⁠Version History

  1. 1.0.5: Hotfix to handle query string for GA tracking
  2. 1.0.4: Adding GA tracking to monitor hosted API usage
  3. 1.0.3: Adding GNU GENERAL PUBLIC V3 LICENSE and CORS Allow all headers
  4. 1.0.2: Added caching for response dataframes
  5. 1.0.1: Added a hosted public version of the API
  6. 1.0.0: Base repo with DBless Django app

Tag summary

Content type

Image

Digest

Size

101.7 MB

Last updated

over 6 years ago

docker pull desholmes/covid-19-us-api