Retail

About the retail pattern
This pattern demonstrates a pattern that models the store side of a retail application.
It is derived from the Quarkus Coffeeshop Demo created by Red Hat Solution Architects. The demo showcases the use of multiple microservices that interact through Kafka messaging and persist data in a PostgreSQL database.
This demo pulls together several different strands of the demo and allows for multiple stores to be installed on remote clusters via ACM if the user desires.
The demo allows users to go to the store’s web page, order drinks and food items, and see those items made
and served by the microservices in real time. The pattern includes build pipelines and a demo space, so that changes to the applications can be tested prior to production
deployments.
Solution elements
How to use a GitOps approach to keep in control of configuration and operations
How to centrally manage multiple clusters, including workloads
How to build and deploy workloads across clusters using modern CI/CD
How to architect a modern application using microservices and Kafka in Java
Architecture
The following diagram shows the relationship between the microservices, messaging, and database components:
The hub. This cluster hosts the CI/CD pipelines, a test instance of the applications and messaging/database services for testing purposes, and a single functional store.
Optional remote clusters. Each remote site can support a complete store environment. The default one modelled is a “RALEIGH” store location.
Demo Scenario
The Retail Validated Pattern/Demo Scenario showcases the Quarkus Coffeeshop retail experience. Rather than modeling the complexities of a full retail environment—such as item files, tax tables, and inventory management—it focuses on a subset of services to illustrate data flow, microservice interaction through APIs, messaging, and data persistence.
Web Service - the point of sale within the store. Shows the menu, and allows the user to order food and drinks, and shows when orders are ready.
Counter service - the “heart” of the store operation - receives orders and dispatches them to the barista and kitchen services, as appropriate. Users may order as many food and drink items in one order as they wish.
Barista - the service responsible for providing items from the “drinks” side of the menu.
Kitchen - the service responsible for providing items from the “food” side of the menu.
Further documentation on the individual services is available at the upstream Quarkus Coffeeshop documentation site.