Skip to content

Getting started with FullStackHero

FullStackHero is an opinionated .NET 10 starter kit for building modular, multi-tenant SaaS applications and enterprise APIs. It provides a cohesive solution layout, tenant-aware persistence, CQRS, logging, and cross-cutting infrastructure so you can ship real products instead of wiring plumbing.

FullStackHero is designed for teams who:

  • Want a clean, modular architecture but do not want to assemble everything from scratch.
  • Need multi-tenancy (per-tenant databases, tenant-aware APIs, and auditing) from day one.
  • Care about developer experience: analyzers, architecture tests, and a predictable solution layout.

You keep full control of the codebase and patterns, while starting from a strong, battle-tested baseline.

  • Vertical slices (Modules.*) with dedicated contracts projects and feature folders.
  • BuildingBlocks layer with shared infrastructure for web, persistence, caching, jobs, mailing, and more.
  • Playground hosts (API, Blazor, migrations) that show how to compose modules into real applications.

See the solution structure and architecture overview for a guided tour.

  • Core – domain primitives, base types, exceptions, domain events.
  • Shared – shared contracts, options, and constants (for example, database providers).
  • Persistence – EF Core helpers, DatabaseOptions, interceptors, pagination, specifications, and DbContext bindings.
  • Web – host composition, middleware, versioning, OpenAPI, CORS, rate limiting, and modular endpoint wiring.
  • CachingICacheService abstraction with in-memory and distributed implementations.
  • Jobs – background job helpers and integration for recurring/long-running work.
  • Mailing & Storage – opinionated placeholders for outbound email and blob/file storage integrations.
  • Identity – authentication/authorization endpoints, user and role management, permission checks, token issuing.
  • Multitenancy – tenant CRUD, Finbuckle.MultiTenant strategies (header, claim, optional query), tenant stores, and per-tenant migrations/seeding.
  • Auditing – HTTP request/response auditing, masking of sensitive fields, and pluggable sinks for persisting audits.

Each module has a runtime project and a *.Contracts project so public API shape stays separate from internals.

  • Mediator-powered CQRS – commands, queries, and pipeline behaviors for validation, transactions, and logging.
  • Logging & observability – Serilog with structured logging, contextual properties (tenant, user, correlation id), and health checks.
  • HTTP experience – RFC7807 problem details, rate limiting, OpenAPI + Scalar UI, and an opinionated HTTP pipeline.
  • Architecture & code quality – architecture tests, .editorconfig, shared MSBuild (Directory.Build.props), central package management, and analyzers.
  1. Install & run locally – follow the installation guide to restore, build, and run Playground.Api.
  2. Add an endpoint – use Your first API endpoint to add a Minimal API endpoint wired to a Mediator handler.
  3. See multi-tenancy in action – walk through the SaaS quickstart to create tenants, run migrations, and call tenant-aware APIs.
  4. Deep dive – read Core concepts, modules, and building blocks when you are ready to customize the platform.