Local Development Environment
Prerequisites
Before beginning development or pulling BitBucket repositories please check out this detailed set of instructions for preparing your machine for development of the API Gateway: Prerequisites Documentation
Service Overview
The API Gateway is comprised of three core services. At a minimum you will need to run these services locally during development:
- Service Conductor
- Service Router
- Service Worker
The following services also may be run locally depending on the extent of your development/testing:
- Keycloak
- Mock College Adaptor
- Student Profile Service API
NOTE: This document does not delve into the architecture of these services, this is simply a guide to set up your development environment.
Core API Gateway Services
For each service you have the option of running it locally (ie in IntelliJ for debugging purposes), or running it inside docker.
Notes / tips:
- In each repository there are a number of
docker-compose*.yml
files. In all cases, thedocker-compose.yml
file is the one used for local development, whereasdocker-compose-ci.yml
,docker-compose-qa.yml
, etc are for deployed environments. - To run containers in the background, use the -d option after "up", ie
docker-compose up -d
Create the Docker network
Before running any docker images, create a network called "ccctc" by running the following command:
docker network create ccctc
Check the instructions for each service
Each repo has its own README with instructions:
Service Router: https://bitbucket.org/cccnext/service-router/src/develop/
Service Workers: https://bitbucket.org/cccnext/service-workers/src/develop/
Service Conductor: https://bitbucket.org/cccnext/service-conductor/src/develop/