idugalic/digital-restaurant
51.9
Adequate · 21 September 2026
8.2k
lines of production code
Kotlin
with JavaScript
4
measurements over time
What this system is
This system is a DDD-based restaurant management platform that implements CQRS and Event Sourcing using the Axon Framework. It exposes domain commands and queries via REST and WebSocket endpoints, supporting the creation and state management of customers, couriers, restaurants, and orders. The architecture includes a monolithic application and separate microservices for command and query sides, all registered with a service discovery server.
Features
Add AMQP message source configuration for microservices
New AMQP message source configuration files have been added to the courier, customer, order, and restaurant microservices. Each configuration registers a Spring AMQP message source that listens to the 'sagaqueue' via RabbitMQ, enabling these services to consume messages from the message broker as part of the Axon 4.0 upgrade.
(repo-wide) · high confidence
Add Eureka-based service discovery server
The microservices discovery server is now implemented using Spring Cloud Netflix Eureka, exposing the Eureka server on port 8761. This introduces a new service discovery mechanism for the microservices architecture, allowing services to register and discover each other via Eureka.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-discovery-server · high confidence
Add Order Creation API Endpoint
A new REST controller at /api/command/order has been introduced to handle order creation requests. This endpoint accepts a JSON payload containing customer and restaurant identifiers along with a list of order items, and forwards the data as a CreateOrderCommand to the Axon framework's command gateway for processing.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-order/src/main/kotlin/com/drestaurant/web · high confidence
Add REST controllers for creating and updating resources in each microservice
New CommandController classes have been added to the courier, customer, and restaurant microservices. Each controller exposes REST endpoints to create new entities (Courier, Customer, Restaurant) and update their states (e.g., assigning orders, marking as delivered/prepared) using Axon's CommandGateway. These controllers handle the HTTP requests, map them to domain commands, and use subscription queries to return the updated state, effectively exposing the write side of the application via REST.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/web, drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-customer/src/main/kotlin/com/drestaurant/web, drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-restaurant/src/main/kotlin/com/drestaurant/web · high confidence
Add admin and command REST APIs for event processing and domain commands
New REST endpoints are exposed for administrative control and domain command execution. The /api/administration/eventprocessors\* endpoints allow users to view the status of Axon event processors, reset their state, and retrieve tracking information, enabling operational control over background processing. Additionally, the /api/command endpoints provide a unified interface for creating customers, couriers, restaurants, and orders, as well as marking orders as prepared or delivered, facilitating the core business workflows through a single web interface.
drestaurant-apps/drestaurant-monolith/src/main/kotlin/com/drestaurant/web · high confidence
Add automated C4 architecture documentation generation
The application now automatically generates a C4 model diagram of the system architecture as PlantUML text during startup. This includes a new \SoftwareSystemContextC4Model\ component that defines the monolith's structure (customer, courier, and restaurant manager personas interacting with backend containers and domain components), and a renderer that prints the corresponding PlantUML code to the console for visualization.
drestaurant-apps/drestaurant-monolith/src/main/kotlin/com/drestaurant/documentation, drestaurant-libs/drestaurant-documentation · high confidence
Add customer query model and handlers for read-side operations
A new read-model implementation for customers has been added to the microservices REST application. This includes a JPA entity (CustomerEntity) and a repository that exposes a REST API for retrieving customer data. The system now handles customer creation events to update the read model and supports two query types: finding a specific customer by ID and retrieving all customers. These changes enable the application to serve customer data via HTTP endpoints.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-customer/src/main/kotlin/com/drestaurant/query · high confidence
Add query-side microservice for DDD projections and real-time updates
The drestaurant-microservices-query module has been added, introducing the read-side of the DDD architecture. This includes JPA entities (Courier, Customer, Order, Restaurant) and Spring Data repositories that expose REST endpoints at /api/query. Event handlers listen for domain events (e.g., OrderCreationInitiatedEvent) via Axon 4.0, updating the local projections and broadcasting changes over WebSocket (Stomp) to clients. Configuration files set up the H2 in-memory database, Kafka consumer for Axon events, and CORS filters.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-query · high confidence
Add query-side microservice for real-time updates via WebSockets
A new query-side microservice has been added to the drestaurant application, providing read-model projections and real-time data streaming via WebSockets. This service includes configuration for CORS, WebSocket message brokering, and event handlers that update JPA entities (Customer, Courier, Order, Restaurant) from domain events. It exposes REST/WS endpoints for fetching all entities and broadcasts updates to subscribed clients, enabling live UI updates for customers, couriers, and orders.
drestaurant-apps/drestaurant-microservices-websockets/drestaurant-microservices-websockets-query · high confidence
Added Axon administration component for event processor management
A new AxonAdministration component was added to the admin module, providing methods to reset tracking event processors and retrieve their status. This enables administrative control over event processing workflows, specifically allowing the reset of tracking event processors and inspection of their current state.
drestaurant-apps/drestaurant-monolith/src/main/kotlin/com/drestaurant/admin · high confidence
Added Eureka discovery server configuration
The microservices discovery server was introduced as a new component, enabling service registration and discovery via Spring Cloud Netflix Eureka. The server is configured to run on port 8761, providing the central registry for other microservices to register and discover each other.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-discovery-server · high confidence
Added Spring Boot application entry points for microservices
New Kotlin entry-point classes have been added for the Courier, Customer, Order, and Restaurant microservices across both the REST and Command modules. Each application class is configured with Spring Cloud's @EnableDiscoveryClient and explicitly excludes Spring Security auto-configuration, indicating these services are being registered with a service registry and are intentionally bypassing default security filters.
(repo-wide) · high confidence
Added configuration for Axon, RabbitMQ, CORS, and REST API exposure
Each microservice (courier, customer, restaurant) now includes dedicated configuration classes to support event-driven architecture and cross-origin resource sharing. Axon and RabbitMQ are configured to handle message passing and event buses, while a custom CORS filter ensures proper header handling for cross-domain requests. Additionally, REST API configurations expose specific entity IDs for each domain, enabling direct access to repository endpoints for those entities.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/configuration, drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-customer/src/main/kotlin/com/drestaurant/configuration, drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-restaurant/src/main/kotlin/com/drestaurant/configuration · high confidence
Added configuration for REST, WebSocket, and Axon framework
The application now includes explicit configuration classes for several key integrations. REST API endpoints are configured to expose IDs for Customer, Courier, Restaurant, and Order entities. A WebSocket message broker is set up with a STOMP endpoint at /drestaurant. Additionally, the Axon framework is configured with a command interceptor for validation and a snapshotter factory bean. Swagger documentation is also enabled for the REST API.
drestaurant-apps/drestaurant-monolith/src/main/kotlin/com/drestaurant/configuration · high confidence
Added courier and courier order query models and handlers
The application now exposes read-models for couriers and courier orders. New Kotlin files define the query-side entities (CourierEntity, CourierOrderEntity) and their Spring Data JPA repositories, along with Axon event handlers that persist state changes and emit updates to subscription queries (FindCourierQuery, FindAllCouriersQuery, FindCourierOrderQuery, FindAllCourierOrdersQuery). This enables querying courier and order data through the microservice's REST API.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/query · high confidence
Added cross-origin and Axon framework configuration for microservices
New configuration classes were added to the customer, order, and restaurant command microservices. Each service now includes an AxonConfiguration that registers a BeanValidationInterceptor on the CommandBus and defines a SpringAggregateSnapshotterFactoryBean. Additionally, a MyCorsFilter component was added to each service to handle Cross-Origin Resource Sharing (CORS) headers, including allowing credentials and specific HTTP methods, to resolve 401 errors on AJAX calls.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-customer/src/main/kotlin/com/drestaurant/configuration, drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-order/src/main/kotlin/com/drestaurant/configuration, drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-restaurant/src/main/kotlin/com/drestaurant/configuration · high confidence
Added monolithic REST API with CQRS and Event Sourcing architecture
Introduced a new monolithic REST API application that implements a CQRS and Event Sourcing architecture using the Axon Framework. The application exposes REST endpoints for managing restaurants, customers, couriers, and orders, utilizing Spring Boot and Kotlin. It includes configuration for Axon (command bus, event processing, and snapshotting), an administration component for managing event processors, and a CORS filter. The architecture is documented with C4 model diagrams (context, containers, and components) and a detailed README explaining the non-segregated CQRS approach where command and query models are exposed via a single REST interface.
drestaurant-apps/drestaurant-monolith-rest · high confidence
Added order management capabilities via Axon and RabbitMQ integration
The order microservice now includes a new application entry point, configuration for Axon and RabbitMQ, and a REST controller for creating orders. The system uses Axon's command and query handling to process order creation, updating a local read model (OrderEntity) via event handlers, and exposes a POST /orders endpoint that accepts order details and returns the created order's state. Configuration classes wire up RabbitMQ connections, exchanges, and queues, while a CORS filter and repository configuration support the new functionality.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin · high confidence
Added query-side implementation for restaurant and order data
New Kotlin files in the query package introduce the read-model layer for the restaurant domain. This includes query handlers (RestaurantHandler, RestaurantOrderHandler) that listen for domain events (e.g., RestaurantCreatedEvent, RestaurantOrderCreatedEvent) and update the query-side repositories. The change also adds the corresponding JPA entity models (RestaurantEntity, RestaurantOrderEntity) and Spring Data repositories (RestaurantRepository, RestaurantOrderRepository) to support querying restaurant and order information.
drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-restaurant/src/main/kotlin/com/drestaurant/query · high confidence
Added query-side projections and event handlers for Courier, Customer, Order, and Restaurant domains
New event handlers have been introduced to listen to domain events and update corresponding query-side entities (CourierEntity, CustomerEntity, OrderEntity, RestaurantEntity) via Spring Data repositories. Each handler processes specific events (e.g., CourierCreatedEvent, OrderVerifiedByCustomerEvent) to persist state in the read model and broadcast updates via WebSocket topics (e.g., /topic/couriers.updates). The implementation includes reset handlers to clear projection tables before replay, ensuring consistency during event sourcing resets.
drestaurant-apps/drestaurant-monolith/src/main/kotlin/com/drestaurant/query · high confidence
Implements courier order assignment and validation via Axon event sourcing
The courier module now uses Axon's event sourcing to manage courier and courier order states. New domain classes (Courier, CourierOrder, CourierOrderSaga) handle commands for creating, assigning, and validating orders, while internal events and commands coordinate the workflow. Configuration beans define snapshot triggers for the aggregates.
drestaurant-libs/drestaurant-courier/src/main/kotlin · high confidence
Initial commit: added Maven wrapper and empty application properties for all modules
The repository was initialized with a Maven wrapper (version 3.3.9) and empty application.properties files for each microservice module (courier, customer, order, and restaurant). This establishes the build environment and configuration placeholders for the application.
(repo-wide) · high confidence
Initial monolith application configuration and landing page
The application now includes a default configuration file (application.yml) that sets up an in-memory H2 database, configures Axon event sourcing with snapshotting thresholds for various aggregates, and integrates Structurizr for architecture visualization. Additionally, a static landing page (index.html) is provided, which describes the monolithic architecture, provides links to the Swagger API documentation and the H2 console.
drestaurant-apps/drestaurant-monolith/src/main/resources · high confidence
Initial project scaffolding and documentation
The repository was initialized with core documentation files (README.md, PITCHME.md) and configuration files (.gitignore, \_config.yml, gh-md-toc, mvnw, mvnw.cmd) that establish the project's structure, describe the domain-driven design and technology stack, and provide build/run instructions for the monolithic and microservices applications.
(repo-wide) · high confidence
Introduce query-side read models and handlers for the drestaurant microservices
The drestaurant-microservices-rest-2-query module now provides the complete query-side implementation for the drestaurant domain. This includes new Kotlin data classes for read models (e.g., CourierModel, CustomerModel, OrderModel, RestaurantModel) and their corresponding JPA entities. The change introduces event handlers that listen for domain events (such as CourierCreatedEvent, OrderVerifiedByCustomerEvent, etc.) to update the read models, as well as query handlers that serve these read models via REST endpoints. This establishes the foundation for the 'Version 2' of the REST microservices, shifting the query logic to a dedicated query service.
drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query · high confidence
Introduces domain API contracts for core entities
The drestaurant-core-api module now provides the foundational API contracts for the system's core domains. This includes abstract base classes for auditable commands and events, along with specific command and event definitions for the Courier, Customer, Order, and Restaurant aggregates. The change also introduces shared value objects such as AuditEntry, Money, and PersonName, as well as domain-specific identifiers and state enums, establishing the interface layer for these business capabilities.
drestaurant-libs/drestaurant-core-api · high confidence
New Command API endpoints for restaurant management
A new REST controller, CommandController, has been added to handle command-based operations for the restaurant domain. This introduces two new API endpoints: one for creating a restaurant (POST /api/command/restaurant/createcommand) and another for marking a restaurant order as prepared (POST /api/command/restaurant/order/{id}/markpreparedcommand). These endpoints accept JSON payloads and interact with the Axon Framework's CommandGateway to process domain commands, effectively exposing the microservice's internal command handling logic via HTTP.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-restaurant/src/main/kotlin/com/drestaurant/web · medium confidence
New REST API for courier command operations
A new REST controller at /api/command/courier exposes endpoints to create a courier, assign an order to a courier, and mark an order as delivered. These endpoints accept JSON payloads and interact with the Axon framework's command gateway to dispatch corresponding domain commands.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-courier/src/main/kotlin/com/drestaurant/web · high confidence
New REST endpoint for creating customers
A new REST controller at /api/command/customer has been added to handle customer creation commands. The endpoint accepts a JSON payload containing a first name, last name, and order limit, and uses Axon's CommandGateway to process the CreateCustomerCommand.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-customer/src/main/kotlin/com/drestaurant/web · high confidence
New REST microservices for command handling
Introduced a new 'Version 2' of the REST microservices architecture, adding dedicated command-handling services for courier, customer, order, and restaurant domains. Each service exposes REST endpoints to create and manage domain entities (e.g., creating a courier, customer, order, or restaurant) and integrates with Axon Framework for command processing, including custom CORS filters and Axon configuration for command buses and snapshots.
(repo-wide) · high confidence
New websockets microservices for courier, order, and restaurant command sides
Added three new Spring Boot microservices (courier, order, and restaurant) that expose WebSocket endpoints via STOMP. Each service configures a message broker, registers command handlers through Axon's CommandGateway, and includes CORS filters and Axon configuration for command dispatching and snapshotting. The services run on ports 8081, 8083, and 8084 respectively, and provide REST/WS interfaces for creating and managing entities (couriers, orders, restaurants) in a domain-driven architecture.
drestaurant-apps/drestaurant-microservices-websockets/drestaurant-microservices-websockets-command-courier, drestaurant-apps/drestaurant-microservices-websockets/drestaurant-microservices-websockets-command-order, drestaurant-apps/drestaurant-microservices-websockets/drestaurant-microservices-websockets-command-restaurant · high confidence
Behavioural changes
Added Axon 4.0 configuration and CORS filter
The application now includes a new Axon 4.0 configuration class that registers a BeanValidationInterceptor for command handling and configures an aggregate snapshotter. Additionally, a new CORS filter component has been added to handle cross-origin requests, setting headers for allowed methods, headers, and credentials to support frontend interactions.
drestaurant-apps/drestaurant-microservices/drestaurant-microservices-command-courier/src/main/kotlin/com/drestaurant/configuration · high confidence
Implements event sourcing for Restaurant and RestaurantOrder aggregates
The application now uses Axon Framework's event sourcing pattern for the Restaurant and RestaurantOrder domains. The Restaurant aggregate handles creating a restaurant and spawning new RestaurantOrder aggregates. The RestaurantOrder aggregate manages order creation and state transitions (CREATED to PREPARED). Configuration beans are added to trigger snapshots for both aggregates after 100 events each, ensuring efficient state reconstruction.
drestaurant-libs/drestaurant-restaurant/src/main/kotlin · medium confidence
Implements event-sourced aggregates for customer and order management
The customer domain now uses Axon Framework's event sourcing to manage state. A new Customer aggregate root handles customer creation and enforces order limits, while a separate CustomerOrder aggregate manages the lifecycle of individual orders, including state transitions from CREATED to DELIVERED. Configuration beans define snapshot triggers for both aggregates, ensuring efficient state reconstruction from events.
drestaurant-libs/drestaurant-customer/src/main/kotlin · medium confidence
Order processing now uses Axon4 event sourcing with a new OrderSaga for cross-context coordination
The Order aggregate has been refactored to use Axon4's event sourcing model, where state changes are driven by applying and handling domain events (e.g., OrderCreationInitiatedEvent, OrderPreparedEvent) rather than direct state mutation. A new OrderSaga coordinates the order lifecycle across the Customer, Restaurant, and Courier bounded contexts, triggering commands to create and update related orders as events occur. Configuration for snapshotting is also provided via SpringOrderConfiguration.
drestaurant-libs/drestaurant-order/src/main/kotlin · medium confidence
Test coverage
Added ArchUnit tests to enforce package-level encapsulation; Added architecture tests to enforce package visibility rules; Added unit tests for Customer and CustomerOrder aggregates; Added unit tests for Order aggregate and saga; Added unit tests for Restaurant and RestaurantOrder aggregates; Added unit tests for courier domain aggregates and saga.
Dependencies
Add Maven build files for microservices and websockets modules
This change introduces a new set of Maven POM files that define the build structure for the 'drestaurant-microservices-rest-2', 'drestaurant-microservices-rest', and 'drestaurant-microservices-websockets' application modules. These files establish the project hierarchy, specifying parent-child relationships and declaring dependencies on the Axon Framework, Spring Boot, and various internal 'drestaurant' domain modules. The configuration includes dependencies for REST, security, data JPA, and WebSockets, enabling the compilation and packaging of the microservices and websocket-based services.
(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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 51 → 52 (+0.9)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (+0.2)
- Architecture 99 → 78 (-21.2)
- Maturity 42 → 56 (+13.9)
- Readiness 44 → 44 (+0.0)
- Security 85 → 94 (+9.1)
- Domain Modelling 100 → 86 (-14.2)
- Event Sourcing 100 → 100 (+0.0)
- Accessibility 47 → 44 (-2.9)
Resolved (22)
- Change coupling: CourierHandler.kt ↔ CustomerHandler.kt (drestaurant-apps/drestaurant-monolith-rest/src/main/kotlin/com/drestaurant/query/handler/CourierHandler.kt)
- Change coupling: CourierOrderSaga.kt ↔ OrderSaga.kt (drestaurant-libs/drestaurant-courier/src/main/kotlin/com/drestaurant/courier/domain/CourierOrderSaga.kt)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (15 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (6 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (6 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/RestaurantOrderHandler.kt)
- Duplicated block (7 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/RestaurantHandler.kt)
- Duplicated block (7 lines × 5) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-command-courier/src/main/kotlin/com/drestaurant/web/CommandController.kt)
- Duplicated block (8 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/CourierOrderHandler.kt)
- Duplicated block (9 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (9 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (9 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (9 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- High: security finding (details withheld)
- High: security finding (details withheld)
- LLM evaluation failed
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- …and 2 more
New (93)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (10 lines × 2) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (11 lines × 2) (drestaurant-apps/drestaurant-microservices-websockets/drestaurant-microservices-websockets-query/src/main/kotlin/com/drestaurant/query/handler/CourierHandler.kt)
- Duplicated block (12 lines × 2) (drestaurant-apps/drestaurant-monolith-websockets/src/main/kotlin/com/drestaurant/documentation/SoftwareSystemContextC4Model.kt)
- Duplicated block (14 lines × 3) (drestaurant-apps/drestaurant-microservices-rest-2/drestaurant-microservices-rest-2-query/src/main/kotlin/com/drestaurant/query/handler/RestaurantHandler.kt)
- Duplicated block (16 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/query/handler/CourierHandler.kt)
- Duplicated block (16 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-customer/src/main/kotlin/com/drestaurant/query/handler/CustomerHandler.kt)
- Duplicated block (17 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/query/handler/CourierOrderHandler.kt)
- Duplicated block (17 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-restaurant/src/main/kotlin/com/drestaurant/query/handler/RestaurantHandler.kt)
- Duplicated block (17 lines × 2) (drestaurant-apps/drestaurant-monolith-rest/src/main/kotlin/com/drestaurant/admin/AxonAdministration.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-courier/src/main/kotlin/com/drestaurant/query/handler/CourierOrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-microservices-rest/drestaurant-microservices-rest-order/src/main/kotlin/com/drestaurant/query/handler/OrderHandler.kt)
- Duplicated block (18 lines × 2) (drestaurant-apps/drestaurant-monolith-rest/src/main/kotlin/com/drestaurant/web/AdminController.kt)
- …and 73 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
idugalic/digital-restaurant 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 21 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 920248e62c5b7d9b8d3c365b2f911355aa19c7db — 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-fa71c66cabd8.