Skip to content

Development

Abhinav Tushar edited this page Jan 29, 2018 · 13 revisions

flusight's development involves two main pieces:

  1. Backend scripts

    Scripts for collecting real time data and parsing CSV submission files to generate data files for visualization. These data files become part of the static web application.

  2. Visualization code

    The actual application code visualizing the data assets generated in previous step.

Backend scripts

The aim of these script is to read in CSVs from ./data/ and generate json data files in ./src/assets/data. This is done via helper scripts present in ./scripts. This step can be skipped if you are creating these data files on your own, in which case you need to generate the files listed here. Most of the heavy lifting is here is done using the package flusight-csv-tools which provides functions to read,verify and evaluate CDC style CSVs.

The main script which weaves everything together is ./scripts/parse.js which is invoked via yarn run parse.

Visualization

The main application code lies in ./src and is written using Vue.js + Vuex. More specifically, it uses vue v1 and vuex v2. Bulma is used as the CSS framework. Visualizations use D3 and datamaps.

Except the interactive map, all other visualization code is moved to a separate package, d3-foresight. The role of the main vue application is to request data generated from the backend scripts and convert them to a generic time series data format as expected by d3-foresight.

Clone this wiki locally