UI for the Strengths and Needs assessment service.
Libraries this service uses include:
- GOV.UK Frontend for general UI elements and styling
- MOJ Frontend for domain specific UI elements and styling
- HMPO Form Wizard for forms based on JSON configuration
- Jest for unit testing
- Cypress for end-to-end testing
The service and all of its dependencies are run in Docker containers.
To start it, run:
make up
The entry point for the service is http://localhost:7072
To update containers
make down update up
To install dependencies locally, run:
make dev-update
To start the UI in development mode with live-reload enabled, run:
make dev-up
A remote debugger can be attached to Node.js on port 9229
Run make
to see the full list of dev commands.
make lint
to run the linter.
make lint-fix
to automatically fix linting issues.
make test
to run the unit test suite.
make e2e
to run the end-to-end tests in the Cypress app.
Deployments of the main branch to Development -> Preproduction -> Production are automated through the build-test-and-deploy workflow in CircleCI.
To deploy a branch manually to the Test environment, open the project in CircleCI and follow these steps:
- Select the branch you wish to deploy
- Press the "Trigger Pipeline" button
- Add a string parameter named "deploy" with value "test"
- Press "Trigger Pipeline"
The maintenance banner is controlled by environment variables.
MAINTENANCE_UNPLANNED=true
will enable the unplanned maintenance banner.
To display a scheduled maintenance banner, define the maintenance window with:
MAINTENANCE_START_TIMESTAMP_SECONDS=1729947600
MAINTENANCE_END_TIMESTAMP_SECONDS=1729954800
- hmpps-strengths-based-needs-assessments-api - backend API
- hmpps-auth - for authentication using OAuth/JWT
- Redis - session store and token caching