You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPMENT_GUIDE.md
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,31 +3,31 @@
3
3
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.
4
4
5
5
> [!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.
7
7
8
8
## Table of Contents
9
9
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)
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
-
# validated-relationships-service-api
1
+
# Validated Relationship Service API
2
2
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).
4
4
5
5
Consumers of the API will find developer documentation on the [NHS Digital Developer Hub](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service).
6
6
7
7
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.
-[Validated Relationship Service API](#validated-relationship-service-api)
12
12
-[Table of Contents](#table-of-contents)
13
13
-[Repository Structure](#repository-structure)
14
14
-[Contributing](#contributing)
@@ -19,8 +19,8 @@ This repository does _not_ include the Validated Relationship Service FHIR API b
19
19
20
20
This repository includes:
21
21
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.
24
24
-`scripts/` - Utilities helpful to developers for the development and release of the specification.
25
25
-`proxies/` - Live and sandbox Apigee API Proxy definitions.
26
26
@@ -30,7 +30,7 @@ Contributions to this project are welcome from anyone, providing that they confo
30
30
31
31
## Development & Testing
32
32
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).
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)
-[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.
20
31
21
32
## Prerequisites
22
33
@@ -26,17 +37,23 @@ For more information about building sandbox APIs see the [API Producer Zone conf
26
37
27
38
## Quick Start
28
39
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`
30
41
31
42
### Installing dependencies
32
43
33
-
To install the dependencies use `make install`
44
+
To install the sandbox dependencies use `make install`
34
45
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`
36
47
37
48
### Starting the API
38
49
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)
0 commit comments