gregjw / antibody-web

Web application for finger prick covid19 antibody Lateral Flow Tests (LFT) and interpreting results

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 wep 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.

Technical documentation

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

  • api/
    • The API which serves as the connection between all the parts of our service.
  • lib/
    • Code & types shared between mutliple applications
  • ml/
    • Docuementation for the machine learning API & instructions for building the docker images
  • reviewer-app/
    • The application for reviewing samples of the results generated by the machine learning for quality assurance.
  • take-test-app/
    • The application for the person taking the test to use to take a picture and submit their results.
  • terraform/
    • The terraform for all applications aside from the api, which is a Serverless application.

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.

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.

About

Web application for finger prick covid19 antibody Lateral Flow Tests (LFT) and interpreting results

License:MIT License


Languages

Language:TypeScript 83.2%Language:JavaScript 7.5%Language:HCL 6.5%Language:HTML 1.8%Language:Dockerfile 0.7%Language:Shell 0.2%Language:SCSS 0.2%Language:CSS 0.0%