Note: Before completing this guide, make sure you have completed the general onboarding guide in the base mojaloop repository.
If you have followed the general onboarding guide, you should already have the following cli tools installed:
brew
(macOS), [todo: windows package manager]curl
,wget
docker
+docker-compose
node
,npm
and (optionally)nvm
The Scheduling BC consists of the following packages;
public-types-lib
Public shared types.
README
domain-lib
Domain library types.
README
implementations-lib
Implementations library.
README
scheduling-api-svc
HTTP service for scheduling BC.
README
event-handler-svc
Event handler service for scheduling BC.
README
command-handler-svc
Command handler service for scheduling BC.
README
Firstly, clone your fork of the scheduling-bc
onto your local machine:
git clone https://github.com/<your_username>/scheduling-bc.git
Then cd
into the directory and install the node modules:
cd scheduling-bc
More information on how to install NVM: https://github.com/nvm-sh/nvm
nvm install
nvm use
npm install
npm run build
In this method, we will run all of the core dependencies inside of docker containers, while running the scheduling-bc
server on your local machine.
Alternatively, you can run the
scheduling-bc
inside ofdocker-compose
with the rest of the dependencies.
Use platform-shared-tools docker-compose files:
Follow instructions in the README.md
files to run the supporting services. Make sure you have the following services up and running:
- infra services : docker-compose-infra
- mongo
- kafka
- zoo
- cross-cutting services : docker-compose-cross-cutting
- authentication-svc
- authorization-svc
- identity-svc
- platform-configuration-svc
- apps services : docker-compose-apps
- participants-svc
This will do the following:
docker pull
down any dependencies defined in eachdocker-compose.yml
file, and the services.- run all of the containers together
- ensure that all dependencies have started for each services.
# set the MONGO_URL* environment variable (required):
export MONGO_URL=mongodb://root:mongoDbPas42@localhost:27017/";
# set the AUDIT_KEY_FILE_PATH
export AUDIT_KEY_FILE_PATH=./dist/auditing_cert
See the README.md file on each services for more Environment Variable Configuration options.
We use npm
scripts as a common entrypoint for running the tests. Tests include unit, functional, and integration.
# unit tests:
npm run test:unit
# check test coverage
npm run test:coverage
# integration tests
npm run test:integration
Here you can find a complete Postman collection, in a json file, ready to be imported to Postman.