The Principal Dev – Masterclass for Tech Leads

The Principal Dev – Masterclass for Tech Leads28-29 May

Join

⚑ FullStackHero .NET 10 Starter Kit

A production-ready, modular .NET 10 monolith + two React 19 apps β€” the fastest way to ship a multi-tenant SaaS.

Identity, multitenancy, billing, auditing, webhooks, files, chat, real-time, caching, jobs, storage, OpenAPI and OpenTelemetry β€” already wired, fully tested, and 100% yours as source (no black-box packages).

fsh CLI template .NET 10 License: MIT Docs Stars

πŸ“– Documentation Β· πŸš€ Get Started Β· 🧩 Modules Β· πŸ—οΈ Architecture Β· πŸ“¦ Changelog


Why FullStackHero?

Most starter kits give you a login page and a TODO list. This one gives you the boring, hard parts already done right β€” multitenancy, auth, billing, auditing, background jobs, real-time, file storage, observability β€” across a clean Vertical Slice backend and two polished React 19 front-ends, orchestrated locally with one command via .NET Aspire, and deployable to Docker or AWS.

You scaffold with the fsh CLI and get the complete, detached source β€” every BuildingBlock, Module, and Host project with real project references. No hidden NuGet runtime, nothing to "eject" later. Own it, read it, change it.

dotnet tool install -g FullStackHero.CLI
fsh new MyApp
cd MyApp
dotnet run --project src/Host/MyApp.AppHost   # πŸŽ‰ whole stack up: API + 2 React apps + Postgres + Valkey + MinIO

Then open the Aspire dashboard at https://localhost:15888, the API + Scalar docs at https://localhost:7030/scalar, the admin app at http://localhost:5173, and the dashboard app at http://localhost:5174. Sign in with a seeded demo account (e.g. admin@acme.com / Password123!).


✨ What's inside

Backend β€” modular monolith, vertical slices

Front-ends β€” two React 19 apps

Modules (bounded contexts)

Identity Β· Multitenancy Β· Billing Β· Catalog Β· Tickets Β· Chat Β· Files Β· Webhooks Β· Auditing Β· Notifications β€” each a runtime project plus a .Contracts project (its only public surface), boundaries enforced by architecture tests.

Cloud-native & DevOps

Quality

1,600+ backend tests (xUnit, Shouldly, NSubstitute, AutoFixture, NetArchTest boundaries, Testcontainers integration) and 200+ front-end E2E tests (Playwright). Path-scoped CI for backend and frontend; warnings-as-errors.


πŸš€ Getting started

dotnet tool install -g FullStackHero.CLI
fsh doctor          # verify your environment (SDK, Docker, Aspire, ports)
fsh new MyApp       # interactive wizard

The wizard asks what to include (Aspire AppHost, the React apps). Non-interactive:

fsh new MyApp --non-interactive          # full stack, Postgres
fsh new MyApp --no-frontend              # backend-only
fsh new MyApp --no-aspire --no-frontend  # minimal API + migrator

Option 2 β€” the dotnet new template

dotnet new install FullStackHero.NET.StarterKit
dotnet new fsh -n MyApp

Option 3 β€” clone the repo

git clone https://github.com/fullstackhero/dotnet-starter-kit.git MyApp && cd MyApp
dotnet run --project src/Host/FSH.Starter.AppHost

Prerequisites: .NET 10 SDK Β· Docker (Postgres/Valkey/MinIO via Aspire) Β· Node 20+ (for the React apps).

fsh commands: new Β· doctor Β· info Β· update Β· --version. Full reference β†’ fullstackhero.net/docs/cli.


🧱 Tech stack

Backend Frontend
Runtime .NET 10 / C# latest Framework React 19 + Vite 7 + TS 5
API Minimal APIs + Mediator (CQRS) Data TanStack Query v5
Validation FluentValidation Routing React Router 7
ORM / DB EF Core 10 / PostgreSQL UI Radix + Tailwind v4 (shadcn)
Auth JWT + ASP.NET Identity Realtime SignalR Β· SSE
Multitenancy Finbuckle 10 Tests Playwright
Cache / Jobs Valkey Β· Hangfire
Storage S3 / MinIO (presigned) Infra
Docs OpenAPI + Scalar Orchestration .NET Aspire
Observability Serilog + OpenTelemetry Deploy Docker Compose Β· Terraform
Testing xUnit Β· Testcontainers Β· NetArchTest

πŸ—ΊοΈ Repository layout

Path What
src/BuildingBlocks/ Shared framework libraries (Core, Persistence, Web, Caching, Eventing, Storage, Quota…)
src/Modules/{Name}/ Bounded contexts β€” each with a runtime project + a .Contracts project (its public API)
src/Host/FSH.Starter.Api Composition-root Web API host
src/Host/FSH.Starter.AppHost .NET Aspire orchestrator (Postgres, Valkey, MinIO, migrator, API, both React apps)
src/Host/FSH.Starter.DbMigrator One-shot migrate/seed runner (DB is not migrated at API startup)
src/Tools/CLI The fsh CLI (Spectre.Console)
clients/admin, clients/dashboard The two React apps
deploy/ Docker Compose, Terraform (AWS), Dokploy
src/Tests/ Unit, Architecture (NetArchTest), Integration (Testcontainers)

Architecture deep-dive β†’ fullstackhero.net/docs/architecture.


☁️ Deploy

Single-host via Docker Compose:

cd deploy/docker
cp .env.example .env   # fsh new pre-generates this with strong secrets
docker compose up -d --build

AWS via Terraform (ECS Fargate + RDS + ElastiCache + S3/CloudFront) lives in deploy/terraform.

Guides β†’ Local orchestration Β· Docker Β· AWS / Terraform Β· Database migrations.


πŸ§ͺ Testing

dotnet test src/FSH.Starter.slnx        # backend: unit + architecture + Testcontainers integration
cd clients/admin     && npm run test:e2e # Playwright (operator app)
cd clients/dashboard && npm run test:e2e # Playwright (tenant app)

Integration tests require Docker (Testcontainers spins real Postgres). Architecture tests enforce module boundaries.


πŸ“– Documentation

Full guides, module references, and architecture decisions live at fullstackhero.net:


🀝 Contributing

Issues and PRs are welcome β€” see CONTRIBUTING.md. Branch from and target main; CI runs path-scoped backend + frontend pipelines, and stable releases are cut from v* tags.

πŸ“„ License

MIT β€” see LICENSE. Built and maintained by Mukesh Murugan and the FullStackHero community, for teams that want to ship fast without sacrificing architectural discipline.

⭐ Star us on GitHub if this saves you time β€” it genuinely helps.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.