eike.schumann/scalable-coffee-shop
54.4
Adequate · 22 September 2026
2.4k
lines of production code
Java
primary language
6
measurements over time
What this system is
This system is an event-driven coffee shop simulation built on Java and WildFly, comprising distinct services for orders, beans, and barista operations. It leverages Apache Kafka for asynchronous event handling and persistence, with each service packaged as a standalone application. The architecture supports building and running individual service instances to manage the flow of coffee-related events.
Features
Add WildFly base image with JSON-B and Kafka client modules
A new WildFly base image is introduced, pre-configured with the Apache Johnzon JSON-B implementation and Apache Kafka client libraries. The build process downloads specific JARs (Johnzon 1.0.0, Kafka clients 1.0.0, and dependencies like LZ4 and Snappy) and installs them as WildFly modules, while also providing a custom \standalone.xml\ that registers these modules as global modules, enabling immediate use of JSON-B and Kafka in applications deployed to this image.
wildfly · high confidence
Add barista and beans services with Kafka-based event handling
The barista and beans services are introduced, each packaged as a WildFly application with a dedicated Dockerfile and build script. The barista service implements event-driven coffee brewing logic, utilizing Kafka for both producing and consuming events with transactional guarantees. It includes a timer-based scheduler to check for unfinished brews and undelivered orders, while the beans service manages bean storage and validation, also publishing events via Kafka. Both services use a custom JSON-based serialization/deserialization for Kafka messages and include unit tests for the serialization logic.
barista, beans, orders · high confidence
Added Gradle build system and project scaffolding
The project now includes Gradle build scripts (gradlew, gradlew.bat) and a .gitignore file to support building the Java/Java EE application. The README provides instructions for running the event-driven coffee shop services, which use Apache Kafka for event handling and persistence. Users can now build and run individual service instances (orders, beans, barista) using the provided build scripts.
(repo-wide) · high confidence
Added Gradle wrapper configuration
The project now includes a Gradle wrapper configuration file (gradle-wrapper.properties) that specifies the use of Gradle version 4.1. This allows users to build the project using a consistent, project-specified version of Gradle without requiring a global installation.
gradle · high confidence
Dependencies
Added Maven and Gradle build configurations for the scalable coffee shop modules
The project now includes build configuration files (pom.xml, build.gradle, gradle.properties) for the barista, orders, and beans modules. These files define dependencies such as Kafka clients (version 1.0.0), Johnzon JSON-B libraries, and testing frameworks (JUnit, Mockito, Hamcrest), establishing the project's build and dependency management structure.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 53 → 54 (+1.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 97 (-2.5)
- Architecture 100 → 100 (+0.0)
- Maturity 57 → 57 (+0.0)
- Readiness 27 → 29 (+2.6)
- Security 95 → 95 (+0.0)
Resolved (15)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (9 lines × 2) (beans/src/main/java/com/sebastian_daschner/scalable_coffee_shop/beans/boundary/BeanEventHandler.java)
- Duplicated block (9 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/barista/control/BaristaUpdateConsumer.java)
- Medium IaC: CKV_DOCKER_3 (barista/Dockerfile)
- Medium IaC: CKV_DOCKER_3 (beans/Dockerfile)
- Medium IaC: CKV_DOCKER_3 (orders/Dockerfile)
- Medium IaC: CKV_DOCKER_3 (wildfly/Dockerfile)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
New (32)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.adoc)
- Documentation: no usage examples (README.adoc)
- Duplicated block (10 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/barista/control/BaristaUpdateConsumer.java)
- Duplicated block (11 lines × 2) (beans/src/main/java/com/sebastian_daschner/scalable_coffee_shop/beans/boundary/BeanEventHandler.java)
- Duplicated block (12 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/EventProducer.java)
- Duplicated block (13 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/CoffeeType.java)
- Duplicated block (16 lines × 18) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/CoffeeBrewFinished.java)
- Duplicated block (16 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/EventSerializer.java)
- Duplicated block (16 lines × 9) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/CoffeeBrewStarted.java)
- Duplicated block (17 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/EventJsonbSerializer.java)
- Duplicated block (17 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/BeansFetched.java)
- Duplicated block (22 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/BeansStored.java)
- Duplicated block (22 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/OrderCancelled.java)
- Duplicated block (23 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/OrderInfo.java)
- Duplicated block (26 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/CoffeeEvent.java)
- Duplicated block (31 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/EventConsumer.java)
- Duplicated block (31 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/KafkaConfigurator.java)
- Duplicated block (5 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/entity/CoffeeDelivered.java)
- Duplicated block (6 lines × 3) (barista/src/main/java/com/sebastian_daschner/scalable_coffee_shop/events/control/EventDeserializer.java)
- …and 12 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
eike.schumann/scalable-coffee-shop was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 2d720968e6830a65dbc1623c680a9b1a63b2c8bc — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.