An open API service indexing awesome lists of open source software.

https://github.com/dvsa/mes-documents-service

DVSA Mobile Examiner Services - Documents Microservice
https://github.com/dvsa/mes-documents-service

aws-lambda typescript

Last synced: 4 months ago
JSON representation

DVSA Mobile Examiner Services - Documents Microservice

Awesome Lists containing this project

README

          

# mes-documents-service

A serverless microservice responsible for generating documents, such as test results for Candidates.

## Dependencies
DVSA dependencies have been moved from npm to github so in order to install/update any private @DVSA packages
you are required to have an entry in your global `~/.npmrc` file as follows:
```shell
//npm.pkg.github.com/:_authToken=
```

## Structure

All serverless functions live in dedicated directories in `src/functions`.
Code that is common between multiple functions should reside in `src/common`.

As per the principles of Hexagonal Architecture, each function has the following directories to help us separate concerns:

* `framework` - contains all Inbound and Outbound Adapters, and all use of external/proprietary APIs - depends upon...
* `application` - contains all Inbound and Outbound Ports, doesn't use any external/proprietary APIs - depends upon...
* `domain` - contains all domain objects (Aggregates, Objects, Value classes etc) with all "business logic" (not just anaemic data holders), doesn't use any external/proprietary APIs.

## Build

To build a zip file for every function to `build/artifacts`, run:

```shell
npm run package
```
Note: The build requires [jq](https://github.com/stedolan/jq).

## Test

To run the unit tests, run:

```shell
npm run test
```

To run the integration tests, and generate pdf output for all templates, run:

```shell
npm run integration
```
Note: Not all markup will be perfectly rendered in the pdf templates as some of the markup is gov.notify specific