The typescript / knockout implementation of the interactive reporting app.
Compiling this is somewhat complicated as it relies on a multiple large data files that we don't want to put into git.
The data file are interim-update-201907wue_summary.rds
from the Montagu report
modup2-201907
and, life_time_impact.rds
and cross_sectional_impact.rds
from internal-2018-201710gavi-impact-estimates
.
In addition to the data files we also need some dictionary files containing e.g. country and vaccine names.
The process of creating these files for the app is carried out in the montagu
report internal-2018-interactive-plotting
.
This method is ideal for UI development where the data does not matter at all.
npm install
- Generate completely fake data by running one of:
npm run generate-fake-data [MODE]
where[MODE]
is one of:
private
- the old private (Funders') toolpublic
- the public tool for the first paperpaper2
- the public tool for the second paperinterim
- the private (Funders') tool for interim updates
npm run build-dev
ornpm run build-dev-watch
cd out && python3 -m http.server
to serve the compiled files.- Visit localhost:8000 in your browser to view the app.
Note that the fake data only contains points for the most recent 3 touchstones.
This will make development slow, but will give you the most accurate impression of the app in production.
- Grab the real data file by downloading the relevant file from the relevant
report on the reporting portal
(
https://montagu.vaccineimpact.org/reports/report/internal-2018-interactive-plotting/XXXXXXXX-XXXXXX-XXXXXXXX
). Copy the files todata/test
. npm install
npm run build-dev
ornpm run build-dev-watch
cd out && python3 -m http.server
to serve the compiled files.- Visit localhost:8000 in your browser to view the app.
To run tests with coverage, run npm run coverage
.
To deploy the internal app:
- Make sure the report dependencies are up to date (these provide all the data that is displayed in the app)
- Run the report
internal-2018-interactive-plotting
To deploy the public app:
The public app depends on the internal one, so follow the above instructions to make sure it is up to date and additionally:
3. Make sure its other report dependencies
are up to date, as these provide the burden estimates displayed in the public app
4. Run the report paper-first-public-app
To deploy the paper 2 app:
- Make sure the report dependencies are up to date (these provide all the data that is displayed in the app)
- Run the report
paper-second-public-app
To deploy the interim update app:
- Make sure the report dependencies are up to date (these provide all the data that is displayed in the app)
- Run the report
interim-update-app