Skip to content
This repository has been archived by the owner on Feb 28, 2020. It is now read-only.

GP IT Futures Buying Catalogue

Adam Slack edited this page Mar 28, 2019 · 7 revisions

GP IT Futures - Buying Catalogue

This wiki documents some of the details necessary to understand the structure and implementation details behind NHS Digital's GP IT Futures Buying Catalogue.

Getting Started

This project can most easily be started by running docker-compose up --build from the root directory of the repository. This will kick off a process of downloading and installing many of the dependencies that the project has (in the form of Docker containers)

This project has a dependency on three external systems. The first is referred to as the CRM, the second is a dependency on a SharePoint instance, and the third is on Auth0. Fortunately, it is possible to decouple the system from the CRM and SharePoint by setting some environment variables in a .env file or in a docker-compose.override.yml file.

Running without the CRM as the backend datastore will mean that a more typical database backend can be used with the back-end server. Setting the environment variables USE_CRM and LOG_CRM to false will mean the system will default to using a specified database instead. You will also need to provide some database environment variables, which includes the database implementation you want to use (e.g. sqlserver or postgresql) and a connection string.

USE_CRM=false
LOG_CRM=false
DATASTORE_CONNECTIONTYPE=sqlserver
DATASTORE_CONNECTIONSTRING=Data Source=SOME_DATABASE;Initial Catalog=SOMEBUYINGCATALOGUE;MultipleActiveResultSets=True;User Id=SOME_USER;Password=SOME_PASSWORD;

Running without SharePoint means that a 'FakePoint' provider will be used in the front-end server. This is essentially a mockup of SharePoint API's that the back-end server makes available to the front-end server. NOTE: Files are not persistent when using the FakePoint Provider. Additional providers could be written that allow more persistent detached storage. FakePoint can be activated by setting SHAREPOINT_PROVIDER_ENV to test

#SHAREPOINT_PROVIDER_ENV=development
SHAREPOINT_PROVIDER_ENV=test

Architecture

Clone this wiki locally