Dr G is being used within the Australian CDR ecosystem today and includes a set of microservices that enable a Data Recipient to interact with the Australian Consumer Data Right ecosystem without needing to develop the complexities of boiler-plate data recipient interactions. Including a mock Register, mock Data Holder and CTS, Dr G has been built with the Twelve-Factor App philosophy in mind, and is expected to be used in a containerised or serverless environment. It can easily be used in a single or multi-application scenario.
npm run build:docker
npm run start:docker
You must have Node 14. This is historically not considered as robust as the Docker example, which is much closer to a production deployment.
npm i
npm run start
Import the Postman collection into Postman.
Here you can see how the OAuth consent flow works. You can also make calls to all data holder endpoints with mock responses (requests for Accounts and Transactions are provided)
- Frontend - provides standards-compliant endpoints for ecosystem interactions, namely JSON Web Key Set End Point and Revocation End Point.
- Backend - provides a REST interface for the data sharing consent lifecycle (create, retrieve data, revoke).
- Housekeeper - manages registrations with Data Holders, metadata cache, refresh token maintenance (still to be developed), and retrying failed revocation propagation.
A collection of mock/test components are also provided
- Mock Register
- Mock Data Holder
- Compliance test suite - tests a Data Holder and Register against the standard. Coverage is over interactions with the Data Recipeint (e.g. Security Profile and API interactions).
- Identity management
- Tracking consent for data usage (as opposed to data sharing)
- Storage or deletion of data
- UI
Note that it is not needed to start a server before testing (tests create their own execution context).
npm run test
- Mocha Test Explorer for running and debugging E2E tests
- Docker
Include the following settings for Mocha Test Explorer. These are already configured in the workspace.
"mochaExplorer.files":"**/*.spec.js",
"mochaExplorer.require": ["source-map-support/register"],
Copyright (c) 2020 Regional Australia Bank