This Java application represents an architecture showcase for an application which is implemented with ideas from DDD and Clean Architecture.
It consists of an client app based on JavaFX/Gluon (ready for cross compiling on different platforms, e.g. with GitHub Actions) and a server part based on Quarkus (which exposes its functionality with some RESTful endpoints and a tiny UI created with JSF).
You find a detailed architecture documentation, based on the arc42-Template in the site-folder of the publishingcompany-service (the rendered arc42 PDF which is created during each build is located in the published-docs folder). The mentioned document is thought as an showcase for how to connect arc42, DDD, Event Storming and C4-Model with the ideas of docs-as-code.
The showcase combines ideas from the two standard works "Domain Driven Design" and "Clean Architecture".
The package structure is based on the BCE concept (boundary control entity) to enable a simple and standardized structure.
All 3 concepts mentioned complement each other perfectly, for the combination of Clean Architecture (indicated as hexagonal in the article, but the basic idea is the same) and BCE, the following link offers a good start: http://www.cs.sjsu.edu/~pearce/modules/patterns/enterprise/ecb/ecb.htm .
Shown schematically, the application is structured as follows:
The publishingcompany-service can be operated in Quarkus "dev" mode "standalone".
Otherwise, a running instance of the currency-service is required. So that this service can be operated in a kind cluster, for example, the repo contains a corresponding script for initializing the cluster and the corresponding Kubernetes manifests for installing the services in the *-infra folder.