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
- Host: GitHub
- URL: https://github.com/dvsa/mes-documents-service
- Owner: dvsa
- License: mit
- Created: 2019-05-31T10:29:34.000Z (about 7 years ago)
- Default Branch: develop
- Last Pushed: 2026-01-30T15:43:04.000Z (4 months ago)
- Last Synced: 2026-01-31T06:54:53.392Z (4 months ago)
- Topics: aws-lambda, typescript
- Language: TypeScript
- Size: 3.17 MB
- Stars: 0
- Watchers: 7
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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