-
Notifications
You must be signed in to change notification settings - Fork 2
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.
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