A Spring-boot application that exposes REST endpoint /routing/{origin}/{destination} that returns a list of border crossings to get from origin to destination
PROCESS FLOW DESIGN
NB: The initial call will be slower compared to the subsequent calls. During the initial API call, data is fetched, transformed and loaded to the persistent queue from which subsequent calls we be reading from, without necessarily calling the 3rd party data provider endpoint.
3rd Party Data Provider endpoint._ : https://raw.githubusercontent.com/mledoze/countries/master/countries.json
TESTING THE SERVICE
Clone the project, build and run.
Maven build-run command: mvn spring-boot:run
OR
Pull the image from DockerHub
DOCKER PULL COMMAND: docker pull bobiologist/route-traversal:latest
Spin up the container Command: docker run -d -p 8084:8084 route-traversal:latest
To test the service from POSTMAN ensure to;
- Set the Context-Type=application/json on the header
- Use basic authentication with admin username and password as password
- Use Endpoint: http://localhost:8084/routing/AFG/TKM
- Use Method: GET
Test Data
AFG/TKM
Sample Response Output
Test Data
CZE/ITA
Sample Response Output
Included ...
- Jenkins pipeline
- Docker Image
- Mockito Unit Test
- Swagger-ui
- Actuator
- Authentication




