covid19-graphql
TypeScript icon, indicating that this package has built-in type declarations

0.4.1 • Public • Published

COVID-19 GraphQL API

Build Status node version Maintenance MIT License

API Endpoint: covid19-graphql.herokuapp.com

This GraphQL API provides real-time, updated information on the COVID-19 cases across the world caused by the Coronavirus SARS-CoV-2.

Data is sourced from the Github repository and the OPS dashboard from Johns Hopkins university.

Features

  • Provides current, up-to-date statistics per country, subregion and region.

  • Provides timelines per country, subregion and region

  • Lightning fast due to smart caching and aggregation

  • Easy to run locally:

    npx covid19-graphql
    

Example GraphQL queries

Following are some example GraphQL queries:

Latest statistics

{
  latest {
    confirmed
    deceased
    recovered
    lastUpdated
  }
}

Execute this query »

Global timeline since March 2020, excluding China

{
  timeline(excludeCountries: "CN", from: "2020-03-01") {
    date
    confirmed
  }
}

Execute this query »

Latest statistics for each country in Southern Europe:

{
  subRegion(name: "Southern Europe") {
    countries(count: 20) {
      count
      totalCount
      hasNext
      results {
        name
        latest {
          lastUpdated
          deceased
        }
      }
    }
  }
}

Execute this query »

List all countries with confirmed cases, by region and subregion

{
  regions {
    name
    subRegions {
      name
      countries(count: 100, filter: { hasCases: true }) {
        results {
          name
        }
      }
    }
  }
}

Execute this query »

Running it yourself

In order to be in control of your own API endpoint instead of relying on someone else's, you can spin up a COVID19 GraphQL server locally with npx:

npx covid19-graphql

Or install it globally:

npm install -g covid19-graphql

Then you can start the GraphQL server by entering:

covid19-graphql

Environment variables

The following environment variables affect the configuration of the server:

  • NODE_ENV: When set to production, will disable tracing, playground and various other debugging settings. It will enable various performance optimizations.
  • PORT: Determines the HTTP port on which the server will run (defaults to port 12000)
  • ENABLE_TRACING: Overrides the default GraphQL tracing setting (on for development, off for production). Use 1 to turn on 0 to turn off.
  • ENABLE_PLAYGROUND: Overrides the default GraphQL playground flag (on for development, off for production). Use 1 to turn on 0 to turn off.

Example:

PORT=8080 covid19-graphql

Development

After cloning this repo, enter npm install to install the dependencies (btw Node >= 10 is required).

The following commands are most useful:

  • npm run dev: Starts a development server
  • npm run build: Creates a build
  • npm start: Starts the server

/covid19-graphql/

    Package Sidebar

    Install

    npm i covid19-graphql

    Weekly Downloads

    4

    Version

    0.4.1

    License

    MIT

    Unpacked Size

    149 kB

    Total Files

    137

    Last publish

    Collaborators

    • sandervandriel