wentjun / covid-19-sg

Visualising COVID-19/Coronavirus cases and cluster zones in Singapore
https://covid-tracker.com/
GNU General Public License v3.0
16 stars 4 forks source link
coronavirus covid-19 mapbox ncov
# COVID-19 Singapore Tracker (https://covid-tracker.com/) - Visualising COVID-19/coronavirus cases and cluster zones in Singapore # [![Netlify Status](https://api.netlify.com/api/v1/badges/24355ce3-3a38-491f-9e1a-602949c4c42f/deploy-status)](https://app.netlify.com/sites/jovial-agnesi-b755d5/deploys) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/wentjun/covid-19-sg/issues)

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 Gov.sg 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.

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)
properties.id 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
properties.hospital 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
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

How to contribute


Quick Start

  1. Clone (git clone git@github.com:wentjun/covid-19-sg.git), 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

Credits

1) Flaticon: Icons made by Smashicons from www.flaticon.com


Architecture & Libraries

1) Main application components

2) State Management with Redux. The following additional libraries help to manage the verbosity incurred from integrating TypeScript and RxJS with Redux.

3) Data scraping using cheerio