---
title: Details of the components
weight: 50
aliases: /retail/component-details/
---

:toc:
:imagesdir: /images
:_content-type: ASSEMBLY
include::modules/comm-attributes.adoc[]


=== The Quarkus Coffeeshop Store https://github.com/validatedpatterns/retail/tree/main/charts/store/quarkuscoffeeshop-charts[Chart]

This chart is responsible for deploying the applications, services and routes for the Quarkus Coffeeshop demo. It models a set of microservices
that would make sense for a coffeeshop retail operation. The detail of what the microservices do is https://quarkuscoffeeshop.github.io/coffeeshop/[here].

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-web[quarkuscoffeeshop-web] - Serves as the `front end` for ordering food and drinks.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-counter[quarkuscoffeeshop-counter] - The counter service receives the orders, persists them in the database, and notifies when they are ready.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-barista[quarkuscoffeeshop-barista] - The barista service is responsible for preparing items from the `drink` side of the menu.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-kitchen[quarkuscoffeeshop-kitchen]- The kitchen service is responsible for preparing items from the `food` side of the menu.

* https://github.com/quarkuscoffeeshop/customerloyalty[quarkuscoffeeshop-customerloyalty] - The customerloyalty service is responsible for generating customer loyalty events, when a customer enters the `rewards` email. This data is not persisted or tracked anywhere.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-inventory[quarkuscoffeeshop-inventory] - The inventory service is responsible for tracking food and drink inventory.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-customermocker[quarkuscoffeeshop-customermocker] - The customermocker can be used to generate test traffic.

* https://github.com/quarkuscoffeeshop/quarkuscoffeeshop-majestic-monolith[quarkuscoffeeshop-majestic-monolith] - The `majestic monolith` builds all the apps into a single bundle, to simplify the process of deploying this app on single node systems.

All the components look like this in ArgoCD when deployed:

image:/images/retail/retail-v1-argo-coffeeshop-store.png[retail-v1-argo-coffeeshop-store]

The chart is designed such that the same chart can be deployed in the hub cluster as the `production` store, the `demo` or `TEST` store, and on a remote cluster.

=== The Quarkus Coffeeshop Database https://github.com/validatedpatterns/retail/tree/main/charts/all/crunchy-pgcluster[Chart]

This installs a database instance suitable for use in the Retail pattern. It uses the Crunchy PostgreSQL https://github.com/CrunchyData/postgres-operator[Operator] to provide PostgreSQL services, which includes high availability and backup services by default, and other features available.

Similar to the store chart, the Database chart can be deployed in the same variety of scenarios.

In ArgoCD, it looks like this:

image:/images/retail/retail-v1-argo-coffeeshopdb.png[retail-v1-argo-coffeeshopdb]

=== The Quarkus Coffeeshop Kafka https://github.com/validatedpatterns/retail/tree/main/charts/all/quarkuscoffeeshop-kafka[Chart]

This chart installs Kafka for use in the Retail pattern. It uses the Red Hat AMQ Streams
https://access.redhat.com/documentation/en-us/red_hat_amq/7.2/html/using_amq_streams_on_openshift_container_platform/index[operator].

=== The Quarkus Coffeeshop Pipelines https://github.com/validatedpatterns/retail/tree/main/charts/hub/quarkuscoffeeshop-pipelines[Chart]

The pipelines chart defines build pipelines using the Red Hat OpenShift Pipelines https://catalog.redhat.com/software/operators/detail/5ec54a4628834587a6b85ca5[Operator] (tektoncd). Pipelines are provided for all of the application images that ship with the pattern; the pipelines all build the app from source, deploy them to the `demo` namespace, and push them to the configured image registry.

Like the store and database charts, the kafka chart supports all three modes of deployment.

image:/images/retail/retail-v1-argo-pipelines.png[retail-v1-argo-pipelines]

=== The Quarkus Coffeeshop Landing Page https://github.com/validatedpatterns/retail/tree/main/charts/all/landing-page[Chart]

The Landing Page chart builds the page that presents the links for the demos in the pattern.

image:/images/retail/retail-v1-argo-landing-page.png[retail-v1-landing-page]
