devmentors/Inflow
42.4
Weak · 21 September 2026
10.5k
lines of production code
C#
primary language
4
measurements over time
What this system is
This system is a .NET 6-based application composed of multiple modules including customer, payment, saga, user, and wallet functionality. The codebase has been modernized to leverage C\# 10+ features and updated dependencies, indicating a focus on maintaining a multi-module architecture with a contemporary .NET stack.
Behavioural changes
Upgrade to .NET 6 and modernize C\# code style
The application has been upgraded from .NET 5 to .NET 6, reflected in the EF Core migration files where the \ProductVersion\ annotation is updated from 5.0.8/5.0.9 to 6.0.1. Additionally, the codebase has been refactored to use C\# 10+ features, including top-level statements, global usings, and file-scoped namespaces, as seen in the simplified \Program.cs\, \Startup.cs\, and various module controllers and handlers.
(repo-wide) · high confidence
Dependencies
Upgrade to .NET 6 and update dependencies
The application has been upgraded from .NET 5.0 to .NET 6.0 across all modules, including the bootstrapper, customer, payment, saga, user, and wallet modules. Additionally, various NuGet packages have been updated to their .NET 6-compatible versions, including Microsoft.EntityFrameworkCore.Design, Microsoft.AspNetCore.Mvc.Testing, Microsoft.NET.Test.Sdk, xunit.runner.visualstudio, coverlet.collector, NSubstitute, and several shared infrastructure libraries such as Serilog, Swashbuckle, and Humanizer.
(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 42 → 42 (+0.3)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 60 → 59 (-1.1)
- Architecture 78 → 78 (+0.1)
- Maturity 59 → 59 (+0.0)
- Readiness 19 → 20 (+0.6)
- Security 72 → 70 (-2.2)
- Domain Modelling 65 (new)
- Event-Driven 74 (new)
Resolved (26)
- Duplicated block (11 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Postgres/Decorators/TransactionalCommandHandlerDecorator.cs)
- Duplicated block (13 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Messaging/Outbox/OutboxCleanupProcessor.cs)
- Duplicated block (14 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Services/AppInitializer.cs)
- Duplicated block (16 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Messaging/Outbox/InboxCleanupProcessor.cs)
- Duplicated block (8 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Logging/Decorators/LoggingCommandHandlerDecorator.cs)
- High CVE: MessagePack 2.4.35
- High CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: MessagePack 2.4.35
- Medium CVE: System.Data.SqlClient 4.8.1
- No exposed public API
- Secret: generic-api-key (src/Bootstrapper/Inflow.Bootstrapper/appsettings.json)
- …and 6 more
New (260)
- CRAP 56: CurrencyResolver.GetForNationality (src/Modules/Payments/Inflow.Modules.Payments.Core/Deposits/Domain/Services/CurrencyResolver.cs)
- CRAP 56: Extensions.Map (src/Modules/Wallets/Inflow.Modules.Wallets.Application/Wallets/Queries/Handlers/Extensions.cs)
- CRAP 56: SignUpHandler.HandleAsync (src/Modules/Users/Inflow.Modules.Users.Core/Commands/Handlers/SignUpHandler.cs)
- CRAP 70: ModuleClient.PublishAsync (src/Shared/Inflow.Shared.Infrastructure/Modules/ModuleClient.cs)
- CRAP 72: BrowseCustomersHandler.HandleAsync (src/Modules/Customers/Inflow.Modules.Customers.Core/Queries/Handlers/BrowseCustomersHandler.cs)
- CRAP 72: BrowseDepositsHandler.HandleAsync (src/Modules/Payments/Inflow.Modules.Payments.Core/Deposits/Queries/Handlers/BrowseDepositsHandler.cs)
- CRAP 72: BrowseWithdrawalsHandler.HandleAsync (src/Modules/Payments/Inflow.Modules.Payments.Core/Withdrawals/Queries/Handlers/BrowseWithdrawalsHandler.cs)
- CRAP 90: ContractRegistry.ValidateProperty (src/Shared/Inflow.Shared.Infrastructure/Contracts/ContractRegistry.cs)
- CommentedOutCode (src/Shared/Inflow.Shared.Tests/DbHelper.cs)
- Documentation: no installation or build instructions (README.md)
- Duplicated block (10 lines × 2) (src/Modules/Payments/Inflow.Modules.Payments.Core/DAL/Configurations/DepositConfiguration.cs)
- Duplicated block (10 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Logging/Decorators/LoggingCommandHandlerDecorator.cs)
- Duplicated block (13 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Messaging/Outbox/OutboxCleanupProcessor.cs)
- Duplicated block (14 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Postgres/Decorators/TransactionalCommandHandlerDecorator.cs)
- Duplicated block (14 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Services/AppInitializer.cs)
- Duplicated block (16 lines × 2) (src/Modules/Payments/Inflow.Modules.Payments.Core/Deposits/Queries/Handlers/BrowseDepositAccountsHandler.cs)
- Duplicated block (16 lines × 2) (src/Shared/Inflow.Shared.Infrastructure/Messaging/Outbox/InboxCleanupProcessor.cs)
- Duplicated block (29 lines × 2) (src/Modules/Payments/Inflow.Modules.Payments.Core/Deposits/Queries/Handlers/BrowseDepositsHandler.cs)
- Duplicated block (5 lines × 2) (src/Modules/Wallets/Inflow.Modules.Wallets.Application/Wallets/Commands/Handlers/AddFundsHandler.cs)
- Duplicated block (8 lines × 2) (src/Modules/Payments/Inflow.Modules.Payments.Core/Deposits/DTO/DepositDto.cs)
- …and 240 more
API surface
- Unchanged — 29 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
devmentors/Inflow 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 39e96dab0b790241930fca2906935d237e7416d3 — 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.