This solution supports a set of related repositories which includes those for the user interface, a set of microservices to implement the Event Sourcing and CQRS patterns and the source code to implement simulators and analytics content. In each repository, we discuss the design and implementation approach, along with how to build and run them for development purposes.
The Component links below will take you to the individual component pages in the Microservices Details section of this manual, while the GitHub Repository links will take you directly to the source code for each individual component.
MVP Level denotes minimal level of system capability to demostrate overall solution functionality. MVP Level 1 requires the least amount of components, MVP Level 2 requires more components, and so on.
|Component||GitHub Repository||MVP Level||Language(s)||Description|
|User Interface||refarch-kc-ui||1||Angular 7||User Interface and Backend For Frontend server used for demonstration purpose|
|Order Management Command microservice||refarch-kc-order-ms/order-command||1||Java with Liberty & MicroProfile||Order management using CQRS and event sourcing pattern|
|Order Management Query microservice||refarch-kc-order-ms/order-query||1||Java with Liberty & MicroProfile||Order management using CQRS and event sourcing pattern|
|Container Management microservice||refarch-kc-container-ms||2||Spring Boot Java, Python||Reefer container management microservice in different programming languages and defines python tools to do machine learning on top of the event store from Kafka.|
|Fleet microservice||refarch-kc-ms/fleet-ms||2||Java||Simulation of a fleet of container vessels|
|Reefer predictive maintenance||refarch-reefer-ml||3||Python||Uses Reefer container metrics like power, temperature, CO2 and other sensor data to build a machine learning model, deploy it as a service and run it on Event Streams.|
|Vessel Movement Simulator||refarch-kc-vessel-simulator||3||Java with Liberty & MicroProfile||This a simple vessel source events generator - generating data for a route between two harbors, the vessel properties, and the geodetic curve shortest path that the vessel could travel.|
|MQ to Kafka integration with a ‘legacy’ app||refarch-container-inventory||4||Java||Bi-directional connections between MQ and Kafka, using a legacy JEE app to manage the inventory for metal and Reefer containers, but only Reefer information is sent to Kafka.|
|Real time analytics||refarch-kc-streams||4||Python||IBM Streaming Analytics to identify potential problems on containers from real time events.|
|Component||GitHub Repository||MVP Level*||Language(s)||Description|
|Kafka order producer||jbcodeforce/order-producer-python||n/a||Python and Flask||Quickly test an IBM Cloud Event Streams deployment.|