Skip to content

Commit 740ff01

Browse files
authored
Merge pull request #133 from NHSDigital/docs/NPA-3901_update_project_documentation
NPA-3901 Improve Project Documentation
2 parents cd935f8 + c12f1ee commit 740ff01

File tree

10 files changed

+126
-68
lines changed

10 files changed

+126
-68
lines changed
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
22
name: Bug report
33
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
4+
title: ""
5+
labels: ""
6+
assignees: ""
87
---
98

109
**Describe the bug**
1110
A clear and concise description of what the bug is.
1211

1312
**To Reproduce**
1413
Steps to reproduce the behavior:
14+
1515
1. Go to '...'
1616
2. Click on '....'
1717
3. Scroll down to '....'
@@ -24,15 +24,17 @@ A clear and concise description of what you expected to happen.
2424
If applicable, add screenshots to help explain your problem.
2525

2626
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser: [e.g. chrome, safari]
29-
- Version: [e.g. 22]
27+
28+
- OS: [e.g. iOS]
29+
- Browser: [e.g. chrome, safari]
30+
- Version: [e.g. 22]
3031

3132
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser: [e.g. stock browser, safari]
35-
- Version: [e.g. 22]
33+
34+
- Device: [e.g. iPhone6]
35+
- OS: [e.g. iOS8.1]
36+
- Browser: [e.g. stock browser, safari]
37+
- Version: [e.g. 22]
3638

3739
**Additional context**
3840
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
---
22
name: Feature request
33
about: Suggest an idea for this project
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
4+
title: ""
5+
labels: ""
6+
assignees: ""
87
---
98

109
**Is your feature request related to a problem? Please describe.**

.github/pull_request_template.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Ticket Link
44

55
<!-- Add the Jira ticket link here -->
6+
67
https://nhsd-jira.digital.nhs.uk/browse/NPA-XXXX
78

89
## Description/Change Summary
@@ -14,6 +15,7 @@ https://nhsd-jira.digital.nhs.uk/browse/NPA-XXXX
1415
-
1516

1617
# How to test?
18+
1719
<!--- Describe in detail how you tested your changes -->
1820
<!--- Include details of your testing environment and the tests you ran to see how your change affects other areas of the code etc. -->
1921
<!--- Are there any automated tests that mean changes don't need to be manually changed? -->
@@ -29,8 +31,9 @@ Stages to complete before opening the Pull Request:
2931
-->
3032

3133
## Review Checklist
34+
3235
:information_source: This section is to be filled in by the **reviewer**.
3336

34-
* [ ] I have reviewed the changes in this PR and they fill all or part of the acceptance criteria of the ticket, and the code is in a mergeable state.
35-
* [ ] If there were infrastructure, operational, or build changes, I have made sure there is sufficient evidence that the changes will work.
36-
* [ ] I have ensured the changelog has been updated by the submitter, if necessary.
37+
- [ ] I have reviewed the changes in this PR and they fill all or part of the acceptance criteria of the ticket, and the code is in a mergeable state.
38+
- [ ] If there were infrastructure, operational, or build changes, I have made sure there is sufficient evidence that the changes will work.
39+
- [ ] I have ensured the changelog has been updated by the submitter, if necessary.

CODE_OF_CONDUCT.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ appearance, race, religion, or sexual identity and orientation.
1111

1212
## Our Standards
1313

14-
Examples of behavior that contributes to creating a positive environment
14+
Examples of behaviour that contributes to creating a positive environment
1515
include:
1616

1717
- Using welcoming and inclusive language
@@ -20,7 +20,7 @@ include:
2020
- Focusing on what is best for the community
2121
- Showing empathy towards other community members
2222

23-
Examples of unacceptable behavior by participants include:
23+
Examples of unacceptable behaviour by participants include:
2424

2525
- The use of sexualized language or imagery and unwelcome sexual attention or
2626
advances
@@ -34,8 +34,8 @@ Examples of unacceptable behavior by participants include:
3434
## Our Responsibilities
3535

3636
Project maintainers are responsible for clarifying the standards of acceptable
37-
behavior and are expected to take appropriate and fair corrective action in
38-
response to any instances of unacceptable behavior.
37+
behaviour and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behaviour.
3939

4040
Project maintainers have the right and responsibility to remove, edit, or
4141
reject comments, commits, code, wiki edits, issues, and other contributions
@@ -54,7 +54,7 @@ further defined and clarified by project maintainers.
5454

5555
## Enforcement
5656

57-
Instances of abusive, harassing, or otherwise unacceptable behavior may be
57+
Instances of abusive, harassing, or otherwise unacceptable behaviour may be
5858
reported by contacting the project team. All
5959
complaints will be reviewed and investigated and will result in a response that
6060
is deemed necessary and appropriate to the circumstances. The project team is

CONTRIBUTING.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
# Contribution Guidelines
22

3+
> [!WARNING]
4+
> Some of the documentation and links in this file are specific to the maintainers of this repository and are only available to NHS England staff.
5+
36
- [Contribution Guidelines](#contribution-guidelines)
47
- [Raising an Issue](#raising-an-issue)
58
- [Contributing code](#contributing-code)
69
- [Merge responsibility](#merge-responsibility)
710
- [Branch naming](#branch-naming)
11+
- [Developers within the NHS](#developers-within-the-nhs)
12+
- [Developers outside of the NHS](#developers-outside-of-the-nhs)
813
- [Commit messages](#commit-messages)
14+
- [Developers within the NHS](#developers-within-the-nhs-1)
15+
- [Developers outside of the NHS](#developers-outside-of-the-nhs-1)
916

1017
## Raising an Issue
1118

@@ -28,14 +35,25 @@ so please explain why the changes need to be made (unless it is self-evident).
2835

2936
### Branch naming
3037

38+
#### Developers within the NHS
39+
3140
Branch names should be of the format:
3241

33-
`apm-nnn-short-issue-description`
42+
`NPA-nnnn_short_issue_description`
43+
e.g. `NPA-1234_update_readme`
3444

3545
Multiple branches are permitted for the same ticket.
3646

47+
#### Developers outside of the NHS
48+
49+
Branch names should be of the format:
50+
51+
`short_issue_description`
52+
3753
### Commit messages
3854

55+
#### Developers within the NHS
56+
3957
Commit messages should be formatted as follows:
4058

4159
```
@@ -44,3 +62,14 @@ APM-NNN Summary of changes
4462
Longer description of changes if explaining rationale is necessary,
4563
limited to 80 columns and spanning as many lines as you need.
4664
```
65+
66+
#### Developers outside of the NHS
67+
68+
Commit messages should be formatted as follows:
69+
70+
```
71+
Summary of changes
72+
73+
Longer description of changes if explaining rationale is necessary,
74+
limited to 80 columns and spanning as many lines as you need.
75+
```

DEVELOPMENT_GUIDE.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,31 @@
33
This documentation is intended for developers to develop the schema, sandbox and proxies. It may be used by developers working within the NHS Digital organisation and outside contributors.
44

55
> [!WARNING]
6-
> Some of the documentation and links are specific to the maintainers of this repository and are only available to NHS England staff.
6+
> Some of the documentation and links in this file are specific to the maintainers of this repository and are only available to NHS England staff.
77
88
## Table of Contents
99

10-
- [Development Guide](#development-guide)
11-
- [Table of Contents](#table-of-contents)
12-
- [Development](#development)
13-
- [Requirements](#requirements)
14-
- [Make commands](#make-commands)
15-
- [Testing](#testing)
16-
- [Platform setup](#platform-setup)
17-
- [Detailed folder walk through](#detailed-folder-walk-through)
18-
- [`/.github`:](#github)
19-
- [`/azure`:](#azure)
20-
- [`/proxies`:](#proxies)
21-
- [`/scripts`:](#scripts)
22-
- [`/specification`:](#specification)
23-
- [`/tests`:](#tests)
24-
- [`Makefile`:](#makefile)
25-
- [`ecs-proxies-containers.yml ` and `ecs-proxies-deploy.yml`:](#ecs-proxies-containersyml--and-ecs-proxies-deployyml)
26-
- [`manifest_template.yml`:](#manifest_templateyml)
27-
- [Releasing a new schema version](#releasing-a-new-schema-version)
28-
- [Caveats](#caveats)
29-
- [Swagger UI](#swagger-ui)
30-
- [Apigee Portal](#apigee-portal)
10+
- [Development Guide](#development-guide)
11+
- [Table of Contents](#table-of-contents)
12+
- [Development](#development)
13+
- [Requirements](#requirements)
14+
- [Make commands](#make-commands)
15+
- [Testing](#testing)
16+
- [Platform setup](#platform-setup)
17+
- [Detailed folder walk through](#detailed-folder-walk-through)
18+
- [`/.github`:](#github)
19+
- [`/azure`:](#azure)
20+
- [`/proxies`:](#proxies)
21+
- [`/scripts`:](#scripts)
22+
- [`/specification`:](#specification)
23+
- [`/tests`:](#tests)
24+
- [`Makefile`:](#makefile)
25+
- [`ecs-proxies-containers.yml ` and `ecs-proxies-deploy.yml`:](#ecs-proxies-containersyml--and-ecs-proxies-deployyml)
26+
- [`manifest_template.yml`:](#manifest_templateyml)
27+
- [Releasing a new schema version](#releasing-a-new-schema-version)
28+
- [Caveats](#caveats)
29+
- [Swagger UI](#swagger-ui)
30+
- [Apigee Portal](#apigee-portal)
3131

3232
## Development
3333

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# validated-relationships-service-api
1+
# Validated Relationship Service API
22

3-
This is a RESTful FHIR API for the [Validated Relationship Service API](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service).
3+
This is a RESTful FHIR API for the [Validated Relationship Service](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service).
44

55
Consumers of the API will find developer documentation on the [NHS Digital Developer Hub](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service).
66

77
This repository does _not_ include the Validated Relationship Service FHIR API back-end. That is part of 'Proxy Validated Relationship Service' repository which is not currently open source.
88

99
## Table of Contents
1010

11-
- [validated-relationships-service-api](#validated-relationships-service-api)
11+
- [Validated Relationship Service API](#validated-relationship-service-api)
1212
- [Table of Contents](#table-of-contents)
1313
- [Repository Structure](#repository-structure)
1414
- [Contributing](#contributing)
@@ -19,8 +19,8 @@ This repository does _not_ include the Validated Relationship Service FHIR API b
1919

2020
This repository includes:
2121

22-
- [specification/validated-relationships-service-api.yaml](./specification/validated-relationships-service-api.yaml) - The [Open API Specification](https://swagger.io/docs/specification/about/) describes the endpoints, methods and messages exchanged by the API. Use it to generate interactive documentation; the contract between the API and its consumers.
23-
- `sandbox/` - A flask (Python) API to provide mock implementation of the service. It's to be used as interactive documentation to illustrate interactions and concepts. It is not intended to provide an exhaustive/faithful environment suitable for full development and testing.
22+
- [specification/validated-relationships-service-api.yaml](./specification/validated-relationships-service-api.yaml) - The [Open API Specification](https://swagger.io/docs/specification/about/) describes the endpoints, methods and messages exchanged by the API. Used to generate interactive documentation for the NHS API Catalogue; the contract between the API and its consumers.
23+
- `sandbox/` - A flask (Python) API that implements a mock implementation of the service. It's to be used as interactive documentation to illustrate interactions and concepts. It is not intended to provide an exhaustive/faithful environment suitable for full development and testing.
2424
- `scripts/` - Utilities helpful to developers for the development and release of the specification.
2525
- `proxies/` - Live and sandbox Apigee API Proxy definitions.
2626

@@ -30,7 +30,7 @@ Contributions to this project are welcome from anyone, providing that they confo
3030

3131
## Development & Testing
3232

33-
All development commands and documentation can be found in [DEVELOPMENT_GUIDE.md](./DEVELOPMENT_GUIDE.md).
33+
Development documentation can be found in [DEVELOPMENT_GUIDE.md](./DEVELOPMENT_GUIDE.md).
3434

3535
### Licensing
3636

postman/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Postman Collection
2+
3+
This folder contains the Postman collection for the API.
4+
5+
> [!WARNING]
6+
> Documentation and links in this file are specific to the maintainers of this repository and are only available to NHS England staff.
7+
8+
To update the Postman collection follow the steps on the [How to update Postman Collection Confluence page](https://nhsd-confluence.digital.nhs.uk/pages/viewpage.action?pageId=874694621)

sandbox/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dirname := $(notdir $(patsubst %/,%,$(CURDIR)))
44
install: # Installs dependencies using poetry.
55
poetry install --no-root
66

7-
list:
7+
list: # List of make targets
88
@grep '^[^#[:space:]].*:' Makefile
99

1010
build: # Build the Docker image to simulate ECS build

sandbox/README.md

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,28 @@ For more information about building sandbox APIs see the [API Producer Zone conf
66

77
## Table of Contents
88

9-
- [Sandbox](#sandbox)
10-
- [Table of Contents](#table-of-contents)
11-
- [Prerequisites](#prerequisites)
12-
- [Quick Start](#quick-start)
13-
- [Installing dependencies](#installing-dependencies)
14-
- [Starting the API](#starting-the-api)
15-
- [Development](#development)
16-
- [Starting the API with Hot Reloading](#starting-the-api-with-hot-reloading)
17-
- [Testing](#testing)
18-
- [Unit Tests](#unit-tests)
19-
- [Useful commands](#useful-commands)
9+
- [Sandbox](#sandbox)
10+
- [Table of Contents](#table-of-contents)
11+
- [Architecture](#architecture)
12+
- [Prerequisites](#prerequisites)
13+
- [Quick Start](#quick-start)
14+
- [Installing dependencies](#installing-dependencies)
15+
- [Starting the API](#starting-the-api)
16+
- [Development](#development)
17+
- [Starting the API with Hot Reloading](#starting-the-api-with-hot-reloading)
18+
- [Testing](#testing)
19+
- [Unit Tests](#unit-tests)
20+
- [Useful commands](#useful-commands)
21+
22+
## Architecture
23+
24+
The sandbox API is built using Python 3.8 and [Flask](https://flask.palletsprojects.com/en/stable/).
25+
26+
The API is able to be run locally on the host system for development and testing purposes.
27+
28+
The Sandbox is deployed using Docker to AWS ECS; the Dockerfile is located in the root of the repository. This allows Docker to copy in responses from `specification/examples/responses`. The docker container is deployed to AWS ECS using Azure DevOps pipelines.
29+
30+
The [Postman Collection](./postman/Validate_Relationship_Service_Sandbox.postman_collection.json) is used to test the Sandbox API. The tests embedded in the collection are run in GitHub Actions on each Pull Request.
2031

2132
## Prerequisites
2233

@@ -26,17 +37,23 @@ For more information about building sandbox APIs see the [API Producer Zone conf
2637

2738
## Quick Start
2839

29-
Please note all commands are meant to be run from this directory `/sandbox`
40+
Please note all make targets commands are meant to be run from this directory `/sandbox`
3041

3142
### Installing dependencies
3243

33-
To install the dependencies use `make install`
44+
To install the sandbox dependencies use `make install`
3445

35-
If you do not have poetry installed you can install the dependencies using `pip install poetry` and then run `make install`
46+
If you do not have poetry installed you can install the dependencies using `pipx install poetry` and then run `make install`
3647

3748
### Starting the API
3849

39-
To start the API locally use `make start`
50+
To start the API locally use the following command:
51+
52+
```bash
53+
make start
54+
```
55+
56+
The API will be available at [http://localhost:9000](http://localhost:9000)
4057

4158
## Development
4259

0 commit comments

Comments
 (0)