wentjun / covid-19-sg

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

Home Page:https://covid-tracker.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

COVID-19 Singapore Tracker (https://covid-tracker.com/) - 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 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.

  • 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)
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
  • 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 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
  • 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

About

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

https://covid-tracker.com/

License:GNU General Public License v3.0


Languages

Language:TypeScript 93.2%Language:HTML 4.9%Language:JavaScript 1.3%Language:CSS 0.6%