FullStackHero.Framework.Eventing
10.0.0-rc.2
dotnet add package FullStackHero.Framework.Eventing --version 10.0.0-rc.2
NuGet\Install-Package FullStackHero.Framework.Eventing -Version 10.0.0-rc.2
<PackageReference Include="FullStackHero.Framework.Eventing" Version="10.0.0-rc.2" />
<PackageVersion Include="FullStackHero.Framework.Eventing" Version="10.0.0-rc.2" />
<PackageReference Include="FullStackHero.Framework.Eventing" />
paket add FullStackHero.Framework.Eventing --version 10.0.0-rc.2
#r "nuget: FullStackHero.Framework.Eventing, 10.0.0-rc.2"
#:package FullStackHero.Framework.Eventing@10.0.0-rc.2
#addin nuget:?package=FullStackHero.Framework.Eventing&version=10.0.0-rc.2&prerelease
#tool nuget:?package=FullStackHero.Framework.Eventing&version=10.0.0-rc.2&prerelease
FullStackHero .NET 10 Starter Kit
An opinionated, production-first starter for building multi-tenant SaaS and enterprise APIs on .NET 10. You get ready-to-ship Identity, Multitenancy, Auditing, caching, mailing, jobs, storage, health, OpenAPI, and OpenTelemetry—wired through Minimal APIs, Mediator, and EF Core.
Why teams pick this
- Modular vertical slices: drop
Modules.Identity,Modules.Multitenancy,Modules.Auditinginto any API and let the module loader wire endpoints. - Battle-tested building blocks: persistence + specifications, distributed caching, mailing, jobs via Hangfire, storage abstractions, and web host primitives (auth, rate limiting, versioning, CORS, exception handling).
- Cloud-ready out of the box: Aspire AppHost spins up Postgres + Redis + the Playground API/Blazor with OTLP tracing enabled.
- Multi-tenant from day one: Finbuckle-powered tenancy across Identity and your module DbContexts; helpers to migrate and seed tenant databases on startup.
- Observability baked in: OpenTelemetry traces/metrics/logs, structured logging, health checks, and security/exception auditing.
Stack highlights
- .NET 10, C# latest, Minimal APIs, Mediator for commands/queries, FluentValidation.
- EF Core 10 with domain events + specifications; Postgres by default, SQL Server ready.
- ASP.NET Identity with JWT issuance/refresh, roles/permissions, rate-limited auth endpoints.
- Hangfire for background jobs; Redis-backed distributed cache; pluggable storage.
- API versioning, rate limiting, CORS, security headers, OpenAPI (Swagger) + Scalar docs.
Repository map
src/BuildingBlocks— Core abstractions (DDD primitives, exceptions), Persistence, Caching, Mailing, Jobs, Storage, Web host wiring.src/Modules—Identity,Multitenancy,Auditingruntime + contracts projects.src/Playground— Reference host (Playground.Api), Aspire app host (FSH.Playground.AppHost), Blazor UI, Postgres migrations.src/Tests— Architecture tests that enforce layering and module boundaries.docs/framework— Deep dives on architecture, modules, and developer recipes.terraform— Infra as code scaffolding (optional starting point).
Run it now (Aspire)
Prereqs: .NET 10 SDK, Aspire workload, Docker running (for Postgres/Redis).
- Restore:
dotnet restore src/FSH.Framework.slnx - Start everything:
dotnet run --project src/Playground/FSH.Playground.AppHost- Aspire brings up Postgres + Redis containers, wires env vars, launches the Playground API and Blazor front end, and enables OTLP export on https://localhost:4317.
- Hit the API:
https://localhost:5285(Swagger/Scalar and module endpoints under/api/v1/...).
Run the API only
- Set env vars or appsettings for
DatabaseOptions__Provider,DatabaseOptions__ConnectionString,DatabaseOptions__MigrationsAssembly,CachingOptions__Redis, and JWT options. - Run:
dotnet run --project src/Playground/Playground.Api - The host applies migrations/seeding via
UseHeroMultiTenantDatabases()and maps module endpoints viaUseHeroPlatform.
Bring the framework into your API
- Reference the building block and module projects you need.
- In
Program.cs:- Register Mediator with assemblies containing your commands/queries and module handlers.
- Call
builder.AddHeroPlatform(...)to enable auth, OpenAPI, caching, mailing, jobs, health, OTel, rate limiting. - Call
builder.AddModules(moduleAssemblies)andapp.UseHeroPlatform(p => p.MapModules = true);.
- Configure connection strings, Redis, JWT, CORS, and OTel endpoints via configuration. Example wiring lives in
src/Playground/Playground.Api/Program.cs.
Included modules
- Identity — ASP.NET Identity + JWT issuance/refresh, user/role/permission management, profile image storage, login/refresh auditing, health checks.
- Multitenancy — Tenant provisioning, migrations, status/upgrade APIs, tenant-aware EF Core contexts, health checks.
- Auditing — Security/exception/activity auditing with queryable endpoints; plugs into global exception handling and Identity events.
Development notes
- Target framework:
net10.0; nullable enabled; analyzers on. - Tests:
dotnet test src/FSH.Framework.slnx(includes architecture guardrails). - Want the deeper story? Start with
docs/framework/architecture.mdand the developer cookbook indocs/framework/developer-cookbook.md.
Built and maintained by Mukesh Murugan for teams that want to ship faster without sacrificing architecture discipline.
| Product | Versions 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. |
-
net10.0
- Finbuckle.MultiTenant (>= 10.0.0)
- Finbuckle.MultiTenant.Abstractions (>= 10.0.0)
- Finbuckle.MultiTenant.EntityFrameworkCore (>= 10.0.0)
- FullStackHero.Framework.Core (>= 10.0.0-rc.2)
- FullStackHero.Framework.Persistence (>= 10.0.0-rc.2)
- Mediator.Abstractions (>= 3.1.0-preview.14)
- Microsoft.EntityFrameworkCore (>= 10.0.0)
- Microsoft.EntityFrameworkCore.Abstractions (>= 10.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.0)
- Microsoft.EntityFrameworkCore.SqlServer (>= 10.0.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.15.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on FullStackHero.Framework.Eventing:
| Package | Downloads |
|---|---|
|
FullStackHero.Modules.Identity.Contracts
FullStackHero .NET Starter Kit - A production-ready modular .NET framework for building enterprise applications |
|
|
FullStackHero.Modules.Identity
FullStackHero .NET Starter Kit - A production-ready modular .NET framework for building enterprise applications |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-rc.2 | 212 | 12/18/2025 |
| 10.0.0-rc.1 | 224 | 12/18/2025 |