Preamble

This document describes the modules and building blocks (commands, events, queries) of the Fraktalio demo application.

The Fraktalio demo application is a software system which consists of three microservices (order, courier, restaurant). Two services are implemented in Java (Java 11 and Java 17) and one service is implemented in Kotlin.

All the information in this document - except this preamble - is extracted from the applications' bytecode using archifacts.

The document is updated using GitHub Actions.

You can find the source code at Github: https://github.com/archifacts/fraktalio-example

Module interactions

The first column and the first row represent the system’s modules. The second column lists all the events, commands and queries which are used across modules.

is read as: The building block (event, command or query) is published, sent or queried by the row module on the left and handled by the column module.

is read as: The building block (event, command or query) is published, sent or queried by the row module on the left and not handled by the column module.

The combination of the very same module is left out as this view focusses on interactions between modules.

courier order restaurant

courier

ShipmentAssignedEvent

ShipmentDeliveredEvent

order

CreateShipmentCommand

FindAllMenusQuery

PlaceRestaurantOrderCommand

restaurant

RestaurantOrderPlacedEvent

RestaurantOrderPreparedEvent

RestaurantOrderRejectedEvent

container view
courier
order
restaurant