Skip to content

Design and build digital services for the NHS. Use the service manual to build consistent, usable services that put people first.​ Learn from the research and experience of other NHS teams.

License

Notifications You must be signed in to change notification settings

nhsuk/nhsuk-service-manual

Repository files navigation

NHS digital service manual

Guidance for designing and building digital services for the NHS. Things you need to make consistent, usable services that put people first.

Running the application locally

Prerequisite

Install the long-term support (LTS) version of Node.js, which includes npm.

Cloning and running the application

Clone the repo: git clone https://github.com/nhsuk/nhsuk-service-manual.git nhsuk-service-manual and while in the project directory cd nhsuk-service-manual, install the required npm packages with: npm install.

Run the project in development mode npm run watch and visit http://localhost:3000.

Run automated tests locally with npm run test.

Running the application via the browser with Gitpod

Before running Gitpod, you must install the Gitpod.io application on your GitHub account.

Gitpod also requires access to public repositories. Enable this via Gitpod integrations. (Click on the 3 dots to edit permissions for your GitHub account. Gitpod may pre-select permissions. You need read/write access to code in the repos.)

Using your own Github credentials you can create, change, commit and push to branches on our Gitpod container via the "ready to code" button below.

Gitpod ready-to-code

Read an introduction to Gitpod (on Gitpod's website).

Release lifecycle

Environments

Review

Code pushed to a branch starting with review/1- will deploy on the review/1 environment.

Code pushed to a branch starting with review/2- will deploy on the review/2 environment.

Code pushed to a branch starting with review/3- will deploy on the review/3 environment.

Development

Code pushed to a branch starting with dev/ will deploy on the development environment.

User Testing

Code pushed to a branch starting with user/ will deploy on the user testing environment.

Staging

Used for very final checks before changes are pushed to the live website.

Code pushed to the main branch will deploy to the Staging environment.

Live

The live NHS digital service manual website, accessible to the public.

Git tags created using SEMVER format v0.0.0 will deploy to the Live environment. (Note: Live is behind a server side cache which results in changes not appearing immediately.)

Release to live

  1. Visit the GitHub releases page and draft a new release.
  2. Enter the tag version, using the same version as in the CHANGELOG and package.json files, prefixed with a v. For example v13.15.1.
  3. The main branch should be preselected. Leave it as it is.
  4. Enter the same tag version in the release title box. For example, v13.15.1.
  5. Enter the CHANGELOG entry for this version's release in the release description box. You can find examples of other release descriptions on the GitHub releases page.
  6. Leave "This is a pre-release" unticked.
  7. Leave "Create a discussion for this release" unticked.
  8. Then click the Publish release button.
  9. After a couple of minutes the Azure Pipeline will complete and the release will start.

Code Analysis

Code analysis results can be found in SonarQube.

Get in touch

The NHS digital service manual is maintained by NHS Digital. Email the service manual team, open a GitHub issue or get in touch on the NHS digital service manual Slack workspace.

Licence

The codebase is released under the MIT Licence, unless stated otherwise. This covers both the codebase and any sample code in the documentation. The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.

About

Design and build digital services for the NHS. Use the service manual to build consistent, usable services that put people first.​ Learn from the research and experience of other NHS teams.

Topics

Resources

License

Stars

Watchers

Forks