This front end service provides allows court and probation users to book and manage video link hearings/appointments with people in prison.
npm install
npm run build
npm run test
Ensure you have a local .env file, with the following content:
INGRESS_URL=http://localhost:3000
REDIS_ENABLED=true
AUDIT_ENABLED=false
TOKEN_VERIFICATION_ENABLED=false
ENVIRONMENT_NAME=DEV
HMPPS_AUTH_URL=https://sign-in-dev.hmpps.service.justice.gov.uk/auth
HMPPS_AUTH_EXTERNAL_URL=https://sign-in-dev.hmpps.service.justice.gov.uk/auth
PRISONER_SEARCH_API_URL=https://prisoner-search-dev.prison.service.justice.gov.uk
MANAGE_USERS_API_URL=https://manage-users-api-dev.hmpps.service.justice.gov.uk
BOOK_A_VIDEO_LINK_API_URL=https://book-a-video-link-api-dev.prison.service.justice.gov.uk
TOKEN_VERIFICATION_API_URL=https://token-verification-api-dev.prison.service.justice.gov.uk
USER_PREFERENCES_API_URL=https://hmpps-user-preferences-dev.hmpps.service.justice.gov.uk
API_CLIENT_ID=<obtain these from team members>
API_CLIENT_SECRET=<obtain these from team members>
SYSTEM_CLIENT_ID=<obtain these from team members>
SYSTEM_CLIENT_SECRET<obtain these from team members>
Start a local container for redis on its default port tcp/6379.
docker-compose up -d
Start the application locally.
npm run start:dev
Access the service in a browser locally on
http://localhost:3000/
The app requires access to several services, but only requires a redis container running locally. The rest of the dependencies can reference the DEV environment locations (recommended).
npm run lint
Start a local container for redis on its default port tcp/6379.
docker compose up -d
Run the service in test mode:
npm run start-feature
(or npm run start-feature:dev
to run with nodemon)
And then either run tests in headless mode with:
npm run int-test
Or run tests with the interactive Cypress UI:
npm run int-test-ui
The template project has implemented some scheduled checks to ensure that key dependencies are kept up to date.
If these are not desired in the cloned project, remove references to check_outdated
job from .circleci/config.yml