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 Main workflow in GitHub Actions.
To deploy a branch manually to the Dev or Test environment, go to the Actions tab on GitHub and follow these steps:
- Select the "Deploy to environment" workflow
- Click "Run workflow"
- Select the branch you wish to deploy
- Select the environment you wish to deploy to
- Optionally input an image tag (from the Docker registry)
- Click "Run workflow"
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