https://github.com/defra/cdp-user-service-backend
Git repository for service cdp-user-service-backend
https://github.com/defra/cdp-user-service-backend
backend cdp node service
Last synced: about 2 months ago
JSON representation
Git repository for service cdp-user-service-backend
- Host: GitHub
- URL: https://github.com/defra/cdp-user-service-backend
- Owner: DEFRA
- License: other
- Created: 2023-08-08T08:40:23.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-26T11:31:27.000Z (4 months ago)
- Last Synced: 2026-02-26T14:55:35.305Z (4 months ago)
- Topics: backend, cdp, node, service
- Language: JavaScript
- Homepage:
- Size: 1.76 MB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CDP User Service Backend
Core delivery platform User Service Backend.
[](https://github.com/DEFRA/cdp-user-service-backend/actions/workflows/publish.yml)
[](https://github.com/DEFRA/cdp-user-service-backend/actions/workflows/integration-tests.yml)
- [Requirements](#requirements)
- [Node.js](#nodejs)
- [Local development](#local-development)
- [Setup](#setup)
- [Development](#development)
- [Updating dependencies](#updating-dependencies)
- [Production](#production)
- [Npm scripts](#npm-scripts)
- [Versioning](#versioning)
- [Auto minor versioning](#auto-minor-versioning)
- [Major or Patch versioning](#major-or-patch-versioning)
- [Docker](#docker)
- [Development image](#development-image)
- [Production image](#production-image)
- [Licence](#licence)
- [About the licence](#about-the-licence)
## Requirements
### Node.js
Please install [Node.js](http://nodejs.org/) `>= v18` and [npm](https://nodejs.org/) `>= v9`. You will find it
easier to use the Node Version Manager [nvm](https://github.com/creationix/nvm)
To use the correct version of Node.js for this application, via nvm:
```bash
$ cd cdp-user-service-backend
$ nvm use
```
## Local development
### Setup
Install application dependencies:
```bash
$ npm install
```
### Development
To run the application in `development` mode run:
```bash
$ npm run dev
```
#### Updating dependencies
To update dependencies, globally install https://www.npmjs.com/package/npm-check-updates. Then run the below script,
run tests, test the application and commit the altered `package.json` and `package-lock.json` files. For more
options around updates check the package docs.
```bash
ncu -i
```
### Production
To mimic the application running in `production` mode locally run:
```bash
$ npm start
```
### Npm scripts
All available Npm scripts can be seen in [package.json](./package.json)
To view them in your command line run:
```bash
$ npm run
```
## Versioning
### Auto minor versioning
The [Publish GitHub Actions workflow](./.github/workflows/publish.yml) auto versions a Pull Requests code with a `minor`
version once it has been merged into the `main` branch.
All you have to do is commit your code and raise a Pull Request and the pipeline will auto version your code for you.
### Major or Patch versioning
If you wish to `patch` or `major` version your codebase use:
```bash
$ npm version
```
Then:
- Push this code with the auto generated commit to your GitHub Repository
- Raise a Pull Request
- Merge your code into the `main` branch
- The [Publish GitHub Actions workflow](./.github/workflows/publish.yml) will tag and push your `major` or `patch`
version tags to your GitHub Repository
- The [Publish GitHub Actions workflow](./.github/workflows/publish.yml) will release your `major` or `patch`
versioned code
## Docker
### Development image
Build:
```bash
$ docker build --target development --no-cache --tag cdp-user-service-backend:development .
```
Run:
```bash
$ docker run -e GITHUB_API_TOKEN -p 3008:3008 cdp-user-service-backend:development
```
### Production image
Build:
```bash
docker build --no-cache --tag cdp-user-service-backend .
```
Run:
```bash
$ docker run -e GITHUB_API_TOKEN -p 3001:3001 cdp-user-service-backend
```
## Licence
THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:
The following attribution statement MUST be cited in your products and applications when using this information.
> Contains public sector information licensed under the Open Government license v3
### About the licence
The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable
information providers in the public sector to license the use and re-use of their information under a common open
licence.
It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.