Skip to content

ministryofjustice/opg-modernising-lpa

Repository files navigation

OPG Modernising LPA

path-to-live-workflow licence-mit codecov

repo standards badge

OPG Modernising LPA Documentation

Documentation for the service can be found in the /docs/ folder.

Getting Started

Prerequisites

  • Docker and docker-compose
  • Nodejs and Yarn

Installation

Install dependencies for development

yarn install

Bring the service up

make up

Run Cypress tests

make run-cypress

Local development

To run the app in dev mode on amd64/intel:

make up-dev

or the following for arm64/apple silicon:

make up-dev-arm

Dev mode adds hot reloading via air which will watch .go and .gohtml for changes and recompile the app.

It also enables debugging via delve. Delve runs on localhost:2345 - add this to your editor/IDE debug config settings and then add breakpoints to step through the app code when running on localhost. Example VSCode debug config:

{
    "name": "Go remote debug",
    "type": "go",
    "request": "attach",
    "mode": "remote",
    "port": 2345,
    "host": "127.0.0.1",
    "trace": "verbose",
}

Pact

We use Pact for contract tests. To install the necessary tools to run the tests do:

go install github.com/pact-foundation/pact-go/v2
pact-go install

Code generation

We make use of mockery for generating mocks and enumerator for generating enums. To use you'll need to go install ./cmd/enumerator, then running make go-generate will create code from any declarations.

Licence

The OPG Modernising LPA code in this repository is released under the MIT license, a copy of which can be found in LICENCE.