thangchung/coffeeshop-on-dapr
46.7
Weak · 21 September 2026
4.4k
lines of production code
C#
primary language
4
measurements over time
What this system is
Features
Add Bicep and Dapr/KEDA configuration files for Azure infrastructure and service scaling
The iac directory now includes a complete set of Bicep templates to define the Azure infrastructure (AKS, Container Registry, Service Bus) and application services (Postgres, reverse proxy, and each microservice). Additionally, Dapr component YAMLs are provided for both Azure (Service Bus) and local (Redis) environments, and KEDA ScaledObject definitions are added to enable automatic scaling of the barista, counter, and kitchen services based on Azure Service Bus message counts.
iac · high confidence
Initial project scaffolding with .NET 7 and MediatR pipeline behaviors
The repository is initialized with a new .NET 7-based architecture. This includes a DataGen background worker service that generates test data by posting random orders to a CoffeeShop API, and a shared core library (N8T.Core) providing domain entities, domain events, and a specification pattern for query composition. The infrastructure layer (N8T.Infrastructure.EfCore) introduces Entity Framework Core with Npgsql/PostgreSQL support, including a transactional MediatR pipeline behavior (TxBehavior) that wraps requests in database transactions and publishes domain events. The setup also includes repository abstractions, helper classes, and configuration options.
(repo-wide) · high confidence
Initial release of the .NET coffeeshop application on Dapr
The repository is initialized with the full source code for a .NET 7-based microservices application, including services for product, counter, barista, and kitchen operations, along with a reverse proxy. The release includes Docker Compose configurations for local development with Dapr sidecars, an observability stack (OpenTelemetry, Prometheus, Jaeger, Zipkin), and infrastructure-as-code templates (Bicep) for deploying to Azure Kubernetes Service. A Makefile and client.http file are provided to simplify building, pushing images, and testing the APIs.
(repo-wide) · high confidence
Introduce Product Service with item catalog and query endpoints
The Product Service is now available, providing endpoints to retrieve the full list of available items and to fetch specific items by their types. Users can access the item catalog via GET /v1/api/item-types and query items by type via GET /v1/api/items-by-types/{itemTypes}. The service is configured to run on port 5001 and includes a Dockerfile for containerization.
src/ProductService · high confidence
Behavioural changes
Added development container and domain contracts for Dapr integration
Developers can now use the new .devcontainer configuration to run the project in a consistent environment with Nomad, Consul, and CNI plugins pre-installed. Additionally, new C\# contracts (BaristaOrderUpdated, BaristaOrdered, KitchenOrderUpdated, KitchenOrdered, ItemDto, ItemType, and ItemTypeDto) were added to the CoffeeShop.Contracts library, supporting the shift to a Dapr-based architecture.
.devcontainer, src/Libs/CoffeeShop.Contracts · medium confidence
Introduce Dapr-based event publishing for order and kitchen events
The Barista and Counter services now use Dapr to publish domain events to message buses. The Barista service publishes \BaristaOrderUp\ events to the \orderuppubsub\ topic, while the Counter service publishes \BaristaOrderIn\ and \KitchenOrderIn\ events to the \baristapubsub\ and \kitchenpubsub\ topics respectively. This replaces the previous direct or internal event handling with a distributed pub/sub model.
src/BaristaService, src/CounterService, src/KitchenService · high confidence
Dependencies
Initial project setup with .NET 7 and core libraries
The project is initialized with .NET 7.0 as the target framework across multiple services (Barista, Counter, Kitchen, Product) and libraries (N8T.Core, N8T.Infrastructure, etc.). Key dependencies include Entity Framework Core 7.0, MassTransit 8.0.8, OpenTelemetry 1.4.0-beta.3, and Yarp.ReverseProxy 1.1.1, establishing the foundational architecture for the application.
(dependencies) · medium 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 46 → 47 (+0.3)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 75 → 75 (-0.4)
- Architecture 83 → 83 (+0.1)
- Maturity 62 → 62 (+0.0)
- Readiness 30 → 30 (+0.3)
- Security 50 → 50 (+0.1)
- Domain Modelling 69 → 71 (+1.8)
- Event-Driven 100 → 100 (+0.0)
Resolved (39)
- Bounded contexts not declared
- CommentedOutCode (src/Libs/N8T.Infrastructure.EfCore/MutateHandlerBase.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure.EfCore/MutateHandlerBase.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure.EfCore/MutateHandlerBase.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/BackGroundKafkaConsumer.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/BackGroundKafkaConsumer.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/BackGroundKafkaConsumer.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/BackGroundKafkaConsumer.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/BackGroundKafkaConsumer.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Kafka/KafkaConsumerConfig.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/SchemaRegistry/Extensions.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/SchemaRegistry/Extensions.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/SchemaRegistry/Extensions.cs)
- CommentedOutCode (src/Libs/N8T.Infrastructure/SchemaRegistry/Extensions.cs)
- High IaC: DS-0002 (.devcontainer/Dockerfile)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 19 more
New (76)
- CommentedOutCode (docker-compose-o11y.yaml)
- CommentedOutCode (src/Libs/N8T.Infrastructure/Bus/Extensions.cs)
- Cross-context type FilterModel (N8T.Core → N8T.Infrastructure)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (src/Libs/N8T.Core/Specification/ISpecification.cs)
- Duplicated block (5 lines × 2) (src/Libs/N8T.Core/Specification/GridSpecificationBase.cs)
- Duplicated block (8 lines × 2) (src/Libs/CoffeeShop.Contracts/BaristaOrderUpdated.cs)
- Duplicated block (9 lines × 3) (src/BaristaService/Domain/DomainEvents/BaristaOrderUp.cs)
- End-of-life runtime: .NET net7.0
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose-o11y.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose.yaml)
- High IaC: WD-COMPOSE-0002 (docker-compose.yaml)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 56 more
API surface
- Unchanged — 10 HTTP endpoints
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
thangchung/coffeeshop-on-dapr 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 ad04bfae172c731bc26500694dfbbfd935595606 — 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-28e75b8e3254.