nhsx / antibody-web

Web application for finger prick covid19 antibody Lateral Flow Tests (LFT) and interpreting results
MIT License
28 stars 10 forks source link

NHSx Covid-19 Antibody Test at Home Web Service

This is a currently a Trial Service NOT a Live Service

Covid-19 Antibody Test at Home Web Service is a web based service that will allow registered users to take an at home Covid-19 Antibody test and get a result of whether they test positive or negative for Covid-19 antibodies.

Quick start

Prerequisites:

Run the following:

yarn install
yarn setup-env

After this, replace the environment variables inside reviewer-app/.env and take-test-app/.env with the correct values.

Once this is done, run the following:

yarn run dev

It will start 3 applications:

User guide

Running through the application (as of 23/09/2020)

Note: Ensure the whole stack is running with the correct environment variables

Prerequisites

Take the test app

Reviewer app

Technical documentation

Each folder of the project has its own specific README describing its intended purpose, technical documenation, and any relevant information:

Install Dependencies

To install dependent modules.

yarn install

This will also postinstall dependencies in all the other applications.

If you only want to install root dependencies:

yarn install --ignore-scripts

Running the service locally

Ensure you have all the required .env files for each application

yarn dev

This will run the following:

The page will reload if you make edits.

You will also see any lint errors in the console.

Updating the lib folder

The lib folder is shared to the three applications via the abt-lib dependency in their package.jsons.

To ensure the other applications are up to date with lib, you can run the following:

yarn run lib

This will build the lib folder, and subsequently update the other three applications to be brought in line.

Running Tests

To run the tests on all applications at once you can run

yarn test

To run them individually, run this from within each project directory.

CI/CD Pipelines

The test & deployment pipeline uses Github Actions (https://github.com/features/actions) to build out pipelines, the files for these can be found in .github/workflows/.

Run against pull requests

There is a build & test pipeline that is run against pull requests, this ensures all the applications can build, and that all tests pass.

Run against master

The pipeline that runs on merges to master includes building & testing the repos, once these all pass it subsequently runs the E2E tests on the repos (by deploying to dev) and once these pass it deploys all the applications.