kurrent-io/samples
51.0
Adequate · 21 September 2026
7.7k
lines of production code
Java
with C#, Python
1
measurement over time
What this system is
Features
Add .NET sample implementation of the Crypto Shredding pattern
A new .NET sample project has been added to demonstrate the Crypto Shredding pattern for protecting sensitive data in event-sourced systems. The implementation includes a \JsonSerializer\ that automatically encrypts or decrypts fields marked with \\[PersonalData\]\ attributes, using an \EncryptorDecryptor\ to manage encryption keys in a \CryptoRepository\. The sample integrates with EventStoreDB, providing a complete flow for persisting, retrieving, and securely handling personal identifiable information (PII) in events.
_Crypto\_Shredding, Crypto\Shredding/Dotnet · high confidence
Add Hello World quickstart samples for .NET, Go, Java, Node.js, Python, and Rust
New quickstart samples have been added for .NET, Go, Java, Node.js, Python, and Rust. Each sample provides a Dockerized, Hello World application that connects to EventStoreDB, appends a visitor event to a stream, and reads back the full stream to display all greeted visitors. The samples include all necessary configuration files (Dockerfiles, docker-compose.yml, READMEs) to run the applications locally.
Quickstart · high confidence
Add Java Spring Boot sample for EventStoreDB quickstart
A new Java Spring Boot sample application has been added to the quickstart directory, providing a complete 'Hello World' example. The project includes a Spring configuration class to register the EventStoreDB client as a bean, a main application class that registers a Gson mapper bean, and a REST controller that demonstrates writing and reading events from EventStoreDB using JSON serialization. Configuration files for the server port and logging are also included.
Quickstart/Java/esdb-sample-springboot · high confidence
Add Python loan application sample with AI-assisted underwriting
The LoanApplication/Python directory now contains a complete sample implementation of a loan processing system. This includes Python scripts for handling loan requests, credit checks, loan decisions, and manual underwriting, along with JavaScript projections and a shell script to set them up. A key addition is the integration of AI (OpenAI) to provide automated recommendations and summaries for underwriters, configurable via the new config.py file.
LoanApplication/Python · high confidence
Added Java sample for Event Sourcing with EventStoreDB
Introduced a new Java sample application demonstrating an e-commerce shopping cart implementation using CQRS and event sourcing with EventStoreDB. The sample includes the core infrastructure for event handling, including an \EventBus\ for publishing domain events, an \AggregateStore\ for persisting aggregate state to EventStoreDB streams, and a background worker to subscribe to all events and update projections. It also provides the \ShoppingCart\ aggregate, a \ShoppingCartService\ for command handling, and a REST controller to expose the shopping cart API. The sample also features a \ProductPriceCalculator\ for pricing logic and JPA-based projections to maintain read models.
_CQRS\_Flow/Java/event-sourcing-esdb-aggregates, CQRS\Flow/Java/event-sourcing-esdb-simple · high confidence
Added sample configurations for sending EventStoreDB logs to the Elastic Stack
Added sample configurations for sending EventStoreDB logs to the Elastic Stack, including ready-to-use Docker Compose setups and configuration files for Logstash, Filebeat, and a combined Filebeat with Logstash pipeline. Each sample includes a README explaining the setup, a docker-compose file to spin up the necessary services (Elasticsearch, Kibana, and the chosen log collector), and the specific configuration files (e.g., logstash.conf, filebeat.yml) required to route logs from EventStoreDB to Elasticsearch with Kibana data views.
Logging · high confidence
Carts API and domain logic for cart management
The CQRS\_Flow area now includes a complete Carts API and domain implementation. The API exposes endpoints to initialize a shopping cart, add or remove products, and confirm a cart. The domain logic handles cart state transitions (Pending, Confirmed) and product item management. Additionally, unit and acceptance tests have been added to verify the cart initialization, product addition/removal, and confirmation workflows.
_CQRS\Flow · high confidence
Dependencies
Add dependency manifests for multi-language samples
Added build and dependency configuration files for sample applications across multiple languages. For .NET, new .csproj files define project references and package dependencies (e.g., xUnit, NSubstitute, Swashbuckle) for the CQRS and Crypto Shredding samples. For Java, new build.gradle and pom.xml files configure Spring Boot, EventStoreDB clients, and JPA dependencies. For Node.js, a package.json and lockfile specify the @eventstore/db-client and Express dependencies. For Go, a go.mod file adds the EventStoreDB client and Gin framework. For Rust, a Cargo.toml and lockfile define the eventstore and rocket dependencies. These changes establish the build environment for each sample.
(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 → 51 (-0.4)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 94 → 93 (-0.7)
- Architecture 94 → 94 (+0.0)
- Maturity 39 → 62 (+23.8)
- Readiness 43 → 41 (-1.5)
- Security 70 → 68 (-2.3)
- Domain Modelling 100 → 46 (-53.6)
- Event Sourcing 100 → 100 (+0.0)
- Performance 74 → 74 (+0.0)
Resolved (60)
- Bounded contexts not declared
- Critical CVE: [GHSA redacted] (Quickstart/Go/esdb-sample-go/go.mod)
- Critical CVE: [GHSA redacted] (Quickstart/Python/esdb-sample-python/requirements.txt)
- Critical CVE: [GHSA redacted] (Quickstart/Go/esdb-sample-go/go.mod)
- Critical CVE: [GHSA redacted] (Quickstart/Nodejs/esdb-sample-nodejs/package-lock.json)
- Dependency hygiene not measured — this repository's dependencies are not NuGet
- Duplicated block (19 lines × 2) (CQRS_Flow/Dotnet/Carts/Carts/Carts/Cart.cs)
- High CVE: [GHSA redacted] (Quickstart/Python/esdb-sample-python/requirements.txt)
- High CVE: [GHSA redacted] (Quickstart/Nodejs/esdb-sample-nodejs/package-lock.json)
- High CVE: [GHSA redacted] (Quickstart/Nodejs/esdb-sample-nodejs/package-lock.json)
- High CVE: [GHSA redacted] (Quickstart/Rust/esdb-sample-rust/Cargo.lock)
- High CVE: [GHSA redacted] (Quickstart/Python/esdb-sample-python/requirements.txt)
- High CVE: [GHSA redacted] (Quickstart/Nodejs/esdb-sample-nodejs/package-lock.json)
- High CVE: [GHSA redacted] (Quickstart/Rust/esdb-sample-rust/Cargo.lock)
- High vulnerability: [GHSA redacted] (Quickstart/Rust/esdb-sample-rust/Cargo.lock)
- 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 40 more
New (163)
- Critical CVE: [GHSA redacted] (Quickstart/Go/esdb-sample-go/go.mod)
- Critical CVE: [GHSA redacted] (Quickstart/Python/esdb-sample-python/requirements.txt)
- Critical CVE: [GHSA redacted] (Quickstart/Go/esdb-sample-go/go.mod)
- Critical CVE: [GHSA redacted] (Quickstart/Nodejs/esdb-sample-nodejs/package-lock.json)
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview (README.md)
- Duplicated block (10 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/productitems/PricedProductItem.java)
- Duplicated block (11 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/core/serialization/EventSerializer.java)
- Duplicated block (11 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/productitems/ProductItems.java)
- Duplicated block (12 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/productitems/ProductItems.java)
- Duplicated block (13 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/core/serialization/EventSerializer.java)
- Duplicated block (16 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/ShoppingCartService.java)
- Duplicated block (17 lines × 4) (CQRS_Flow/Dotnet/Carts/Carts/Carts/Cart.cs)
- Duplicated block (18 lines × 2) (CQRS_Flow/Dotnet/Carts/Carts/Carts/Cart.cs)
- Duplicated block (19 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/gettingbyid/ShoppingCartDetailsProjection.java)
- Duplicated block (20 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/core/aggregates/AggregateStore.java)
- Duplicated block (20 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/core/events/EventEnvelope.java)
- Duplicated block (20 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/core/projections/JPAProjection.java)
- Duplicated block (20 lines × 2) (CQRS_Flow/Java/event-sourcing-esdb-aggregates/src/main/java/io/eventdriven/ecommerce/shoppingcarts/gettingbyid/GetShoppingCartById.java)
- Duplicated block (21 lines × 2) (CQRS_Flow/Dotnet/Carts/Carts/Carts/Cart.cs)
- …and 143 more
API surface
- Unchanged — 9 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
kurrent-io/samples 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 fb9bbf5b2f35cc8cc0324aa99c1a286b5a76a8a9 — 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.