KMTS.Reporting.Persistence 1.0.162-develop.162

This is a prerelease version of KMTS.Reporting.Persistence.
dotnet add package KMTS.Reporting.Persistence --version 1.0.162-develop.162
                    
NuGet\Install-Package KMTS.Reporting.Persistence -Version 1.0.162-develop.162
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KMTS.Reporting.Persistence" Version="1.0.162-develop.162" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KMTS.Reporting.Persistence" Version="1.0.162-develop.162" />
                    
Directory.Packages.props
<PackageReference Include="KMTS.Reporting.Persistence" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add KMTS.Reporting.Persistence --version 1.0.162-develop.162
                    
#r "nuget: KMTS.Reporting.Persistence, 1.0.162-develop.162"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package KMTS.Reporting.Persistence@1.0.162-develop.162
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=KMTS.Reporting.Persistence&version=1.0.162-develop.162&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=KMTS.Reporting.Persistence&version=1.0.162-develop.162&prerelease
                    
Install as a Cake Tool

KMTS.Reporting

A KMTS bounded-context library following the 5-layer DDD/CQRS pattern, built on top of KMTS.Kernel. Scaffolded from the dotnet new kmts-lib template — the single source of truth for KMTS library structure (D-01).

What this library is

KMTS.Reporting packages one capability as four independently-versioned NuGet layers (Domain, Application, Infrastructure, Presentation) plus an in-repo NetArchTest boundary suite. A host application composes it via services.AddReporting().

v1 scope (minimal — projection-runtime seed only)

v1 of KMTS.Reporting is intentionally minimal. This repo is the scaffold seed for a projection runtime only — the generic 5-layer skeleton emitted by the kmts-lib template, with no reporting feature code added. The full export / KPI / dashboard framework is deferred to v2 (see ADR-007: Defer Paid Components; Adopt OSS Substitutes for v1 and the platform spec Phase 5). Do not add projection/export/dashboard framework code to this repo during Phase 2 bootstrap — that lands in a later phase. BOOT-08 requires only that this repo exists as a clean, boundary-enforced scaffold with the correct reporting schema.

Boundary rule

This library references only KMTS.Kernel.*. It must not reference any other KMTS.* library, must not import WolverineFx (cross-library integration events flow only through the Kernel seam), and must not use MediatR, Newtonsoft.Json, or Guid primary keys. These rules are enforced at build time by tests/KMTS.Reporting.ArchitectureTests and fail CI on violation.

Layers

Layer Responsibility
KMTS.Reporting.Domain Entities (Ulid PKs), value objects, domain events, repository interfaces. No infrastructure.
KMTS.Reporting.Application CQRS handlers, validators, marker triad. Source-generated ISender via KMTS.Kernel.Generator.
KMTS.Reporting.Infrastructure EF Core configurations (schema reporting), IReportingDbContext, DbUp scripts, DI + decorator chain.
KMTS.Reporting.Presentation Minimal-API endpoints and the AddReporting() composition entry point.

How to build

dotnet restore
dotnet build -c Release
dotnet test tests/KMTS.Reporting.ArchitectureTests

All projects target net10.0 with all warnings treated as errors, AnalysisMode=All, and EnforceCodeStyleInBuild. Persistence uses one schema per library (reporting) with no cross-schema joins; the host owns a single shared DbContext implementing IReportingDbContext.

Using the API

The host publishes its own OpenAPI description at GET /openapi/v1.json — 136 operations generated from the routes, so it states the parameters the server actually binds. Point any generator or Swagger UI at it. See docs/using-the-api.md for authentication, client generation, and the database connectivity + SQL Lab calls.

Standalone deployment (Docker)

Run Report Studio (the Angular front-end + this API) as a single docker run-deployable container against its own metadata store — no DCS, no other host. See deploy/README.md:

bash deploy/build-image.sh
docker compose -f deploy/docker-compose.yml up   # bundled Postgres + the host on http://localhost:8080
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on KMTS.Reporting.Persistence:

Package Downloads
KMTS.Reporting.Migrations.SqlServer

SQL Server EF Core migration set for the KMTS.Reporting own-store (ReportingDbContext).

KMTS.Reporting.Migrations.Postgres

PostgreSQL EF Core migration set for the KMTS.Reporting own-store (ReportingDbContext).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.162-develop.162 77 9/2/2026