Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

COVID-19 Singapore Tracker ( - Visualising COVID-19/coronavirus cases and cluster zones in Singapore

Netlify Status contributions welcome

This is a website that tracks COVID-19 cases and clusters in Singapore.

Note: The data from covid-sg.json is stale as of mid-April, as the required data is no longer publicly available from MOH. However, locations.json will still be partially updated.

Built with React, TypeScript, Redux, Redux Observable, RxJS, Styled Components, and Mapbox. Data is scraped from Singapore's Ministry of Health, and using Cheerio, pdfreader, andd NodeJS. Polygon data is obtained from nominatim and openstreetmap.

Data on this website is publicly available (also accessible via `src/data`) for your usage.

  • covid-sg.json (in GEOJSON FeatureCollection format) consists of meta data of each COVID-19 case in Singapore.
fields description
geometry.coordinates coordinates of the place of residence (other fallback values might include locations such as location of hospitalisation, if the former is not made available) unique ID of each case (for internal use)
properties.title Alias for each case from official sources
properties.confirmed Date of confirmed diagnosis
properties.discharged Date of recovery/discharge Location of hospitalisation
properties.source news source URL
properties.nationality Nationality/Residency of the individual
properties.residenceAreas List of places of residence
properties.placesVisited List of places visited by the individual
properties.age Age of individual
properties.death Date of death
properties.transmissionSource Source of transmission (Local, or Local)
properties.gender Gender of individual
properties.linkedClusters Linked clusters, mapped from locations.json
  • locations.json (in GEOJSON FeatureCollection format) consists of meta data of transmission clusters and other notable COVID-19 locations (hotspots, hospitals etc) in Singapore.
fields description
geometry.coordinates coordinates of the polygons of each location
properties.location name of each location
properties.type official transmission clusters (cluster), hospitals (hospital) or other notable locations (other)
properties.cases linked COVID-19 cases
  • news-content.json consists of a short summary of each case in Singapore (no longer actively maintained)

How to contribute

Quick Start

  1. Clone (git clone, or directly download this repository.

  2. Install dependencies.

    npm i
  3. Start the application in development mode. Opens the application on http://localhost:3000.

    npm start


  1. Flaticon: Icons made by Smashicons from

Architecture & Libraries

  1. Main application components
  • React.js, with Presentation and Container components.

  • CSS in JS. This application uses Styled Components for that purpose.

  • Reactive JavaScript (RxJS).

  • Mapbox for rendering of the map.

  1. State Management with Redux. The following additional libraries help to manage the verbosity incurred from integrating TypeScript and RxJS with Redux.
  1. Data scraping using cheerio


Visualising COVID-19/Coronavirus cases and cluster zones in Singapore








No releases published


No packages published