Skip to main contentIBM Garage Event-Driven Reference Architecture - Reefer Container Shipment reference implementation

Repository Overview

Core Components

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.

ComponentGitHub RepositoryMVP LevelLanguage(s)Description
User Interfacerefarch-kc-ui1Angular 7User Interface and Backend For Frontend server used for demonstration purpose
Order Management Command microservicerefarch-kc-order-ms/order-command1Java with Liberty & MicroProfileOrder management using CQRS and event sourcing pattern
Order Management Query microservicerefarch-kc-order-ms/order-query1Java with Liberty & MicroProfileOrder management using CQRS and event sourcing pattern
Container Management microservicerefarch-kc-container-ms2Spring Boot Java, PythonReefer container management microservice in different programming languages and defines python tools to do machine learning on top of the event store from Kafka.
Fleet microservicerefarch-kc-ms/fleet-ms2JavaSimulation of a fleet of container vessels
Voyages microservicerefarch-kc-ms/voyages-ms2NodeJSSupports the order management and ship voyage assignment, using Nodejs / express and kafka javascript APIs.
Reefer predictive maintenancerefarch-reefer-ml3PythonUses 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 Simulatorrefarch-kc-vessel-simulator3Java with Liberty & MicroProfileThis 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’ apprefarch-container-inventory4JavaBi-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 analyticsrefarch-kc-streams4PythonIBM Streaming Analytics to identify potential problems on containers from real time events.
ComponentGitHub RepositoryMVP Level*Language(s)Description
Kafka order producerjbcodeforce/order-producer-pythonn/aPython and FlaskQuickly test an IBM Cloud Event Streams deployment.