-
Notifications
You must be signed in to change notification settings - Fork 11
Development
flusight's development involves two main pieces:
-
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.
-
The actual application code visualizing the data assets generated in previous step.
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
.
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.