Schemata.Modular
10.0.0-preview.26175.94
dotnet add package Schemata.Modular --version 10.0.0-preview.26175.94
NuGet\Install-Package Schemata.Modular -Version 10.0.0-preview.26175.94
<PackageReference Include="Schemata.Modular" Version="10.0.0-preview.26175.94" />
<PackageVersion Include="Schemata.Modular" Version="10.0.0-preview.26175.94" />
<PackageReference Include="Schemata.Modular" />
paket add Schemata.Modular --version 10.0.0-preview.26175.94
#r "nuget: Schemata.Modular, 10.0.0-preview.26175.94"
#:package Schemata.Modular@10.0.0-preview.26175.94
#addin nuget:?package=Schemata.Modular&version=10.0.0-preview.26175.94&prerelease
#tool nuget:?package=Schemata.Modular&version=10.0.0-preview.26175.94&prerelease
Schemata
A .NET application framework for building modular, extensible business applications.
Quick Start
dotnet new web
dotnet add package --prerelease Schemata.Application.Complex.Targets
var builder = WebApplication.CreateBuilder(args)
.UseSchemata(schema => {
schema.UseLogging();
schema.UseRouting();
schema.UseControllers();
});
var app = builder.Build();
app.Run();
Add more capabilities from the Feature Domains below.
Feature Domains
- DSL
- Modular
- Audit
- Authorization
- Datasource
- Event
- Identity
- Mapping
- Repository
- Task
- Tenant
- Validation
- Workflow
Features
Features are modular components that can be integrated at startup.
Features are characterized by Order and Priority, both of which are Int32 values. Order controls the sequence of ConfigureServices calls; Priority controls the sequence of Configure calls.
The range [100_000_000, 1_000_000_000) and (2_147_000_000, 2_147_400_000] for Order and Priority is reserved for built-in features and Schemata extensions.
Built-in Features
A built-in feature can be activated by calling the UseXXX method on the SchemataBuilder instance. These features may also have additional configuration methods.
| Priority | Feature | Description |
|---|---|---|
| 100_010_000 | ExceptionHandler | ASP.NET Exception Handler Middleware |
| 100_110_000 | Logging | ASP.NET Logging Middleware |
| 100_120_000 | HttpLogging | ASP.NET HTTP Logging Middleware |
| 100_130_000 | W3CLogging | ASP.NET W3C Logging Middleware |
| 110_000_000 | DeveloperExceptionPage | ASP.NET Developer Exception Page Middleware |
| 111_000_000 | ForwardedHeaders | ASP.NET Forwarded Headers Middleware |
| 120_000_000 | Https | ASP.NET HTTPS & HTTPS Redirection Middlewares |
| 130_000_000 | CookiePolicy | ASP.NET Cookie Policy Middleware |
| 140_000_000 | Routing | ASP.NET Routing Middleware |
| 141_100_000 | Quota | ASP.NET Rate Limiter Middleware |
| 150_000_000 | Cors | ASP.NET CORS Middleware |
| 160_000_000 | Authentication | ASP.NET Authentication & Authorization Middlewares |
| 170_000_000 | Session | ASP.NET Session Middleware |
| 210_000_000 | Controllers | ASP.NET MVC Middlewares, without Views |
| 210_100_000 | JsonSerializer | Configure System.Text.Json to use snake_case and handle JavaScript's 53-bit integers |
Extension Features
An extension feature can be activated in the same way as a built-in feature.
| Priority | Package | Feature | Description |
|---|---|---|---|
| 300_100_000 | Schemata.Security.Foundation | Security | RBAC/ABAC security policies |
| 310_000_000 | Schemata.Identity.Foundation | Identity | ASP.NET Core Identity integration |
| 320_000_000 | Schemata.Authorization.Foundation | Authorization | OAuth 2.0 / OpenID Connect server |
| 340_000_000 | Schemata.Mapping.Foundation | Mapping | Unified object mapper abstraction |
| 350_000_000 | Schemata.Workflow.Foundation | Workflow | Stateful workflow / state machine |
| 360_000_000 | Schemata.Resource.Foundation | Resource | Google AIP-compliant resource service |
| 360_100_000 | Schemata.Resource.Http | Resource (MapHttp) |
HTTP/REST endpoint |
| 360_200_000 | Schemata.Resource.Grpc | Resource (MapGrpc) |
gRPC endpoint |
| 2_147_100_000 | Schemata.Tenancy.Foundation | Tenancy | Multi-tenant isolation |
| 2_147_200_000 | Schemata.Modular | Modular | Module discovery and loading |
Compliance
Schemata is designed to be compatible with .NET Standard 2.0, .NET Standard 2.1, the latest .NET Long-Term Support (LTS) version, and the most recent .NET release.
Some packages may have additional compliance requirements, which are documented below.
| Package | Compliance |
|---|---|
| Schemata.Modeling.Generator | |
| Schemata.Core | |
| Schemata.Modular | |
| Schemata.Authorization.Foundation | |
| Schemata.Identity.Foundation | |
| Schemata.Mapping.Foundation | |
| Schemata.Resource.Foundation | |
| Schemata.Security.Foundation | |
| Schemata.Tenancy.Foundation | |
| Schemata.Workflow.Foundation |
Schemata.Authorization.Foundation
Schemata Authorization Foundation complies with the OpenID Connect Core 1.0 specification.
Schemata.Identity.Foundation
Schemata Identity Foundation is compatible with ASP.NET Core Identity.
Schemata.Mapping.Foundation
The Schemata Mapping Foundation is compatible with various mapping libraries, including AutoMapper and Mapster, among others.
It provides a unified interface for these libraries, enabling developers to switch between them without modifying application code.
Schemata.Resource.Foundation
The Schemata Resource Foundation complies with the API Improvement Proposals - General AIPs proposals.
Schemata.Workflow.Foundation
Unfortunately, the Schemata Workflow Foundation is not yet compliant with enterprise standards such as BPMN 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
-
net10.0
- Schemata.Core (>= 10.0.0-preview.26175.94)
-
net8.0
- Schemata.Core (>= 10.0.0-preview.26175.94)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Schemata.Modular:
| Package | Downloads |
|---|---|
|
Schemata.Application.Modular.Targets
Schemata Application Framework - Modular Application Project Targets |
|
|
Schemata.Application.Complex.Targets
Schemata Application Framework - Comprehensive Application Project Targets |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-preview.26175.94 | 0 | 3/25/2026 |
| 10.0.0-preview.26175.59 | 24 | 3/25/2026 |
| 10.0.0-preview.26174.30 | 29 | 3/24/2026 |
| 10.0.0-preview.26174.28 | 27 | 3/24/2026 |
| 9.0.0-preview.25270.29 | 201 | 5/20/2025 |
| 9.0.0-preview.25270.23 | 161 | 5/20/2025 |
| 9.0.0-preview.25269.38 | 163 | 5/19/2025 |
| 9.0.0-preview.25262.61 | 241 | 5/12/2025 |
| 9.0.0-preview.25262.14 | 206 | 5/12/2025 |
| 9.0.0-preview.25261.47 | 147 | 5/11/2025 |
| 9.0.0-preview.25255.55 | 161 | 5/5/2025 |
| 9.0.0-preview.25251.34 | 160 | 5/1/2025 |
| 9.0.0-preview.25251.30 | 168 | 5/1/2025 |
| 9.0.0-preview.25251.21 | 158 | 5/1/2025 |
| 9.0.0-preview.25230.59 | 165 | 4/30/2025 |
| 9.0.0-preview.25162.44 | 181 | 3/12/2025 |
| 9.0.0-preview.25154.28 | 211 | 3/4/2025 |
| 9.0.0-preview.25154.27 | 213 | 3/4/2025 |
| 9.0.0-preview.25153.54 | 155 | 3/3/2025 |
| 9.0.0-preview.25128.36 | 107 | 2/28/2025 |