Templates / dotnet

ASP.NET Core Minimal API + Dapper + PostgreSQL Starter

ASP.NET Core Minimal APIs, PostgreSQL, Dapper, Minimal APIs, Health Checks, and xUnit form a backend service configuration where the generated project is centered on a backend service. Better Fullstack can scaffold this exact compatibility-checked selection.

01 / selection

Stack at a glance

RoleTechnologyRepository descriptionScope
BackendASP.NET Core Minimal APIs
Lightweight ASP.NET Core APIs with route handlersPrimary backend
DatabasePostgreSQL
Advanced SQL databaseProject-wide
Data accessDapper
Micro ORM for hand-written SQL with object mappingScoped to the backend
AuthenticationNone
Skip .NET auth selectionProject-wide
APIMinimal APIs
REST endpoints with ASP.NET Core route handlersScoped to the backend
RealtimeNone
Skip .NET realtime selectionProject-wide
ObservabilityHealth Checks
ASP.NET Core liveness and readiness endpointsScoped to the backend
TestingxUnit
Common .NET test frameworkScoped to the backend

02 / architecture

How the pieces fit

  • The generated stack is centered on a backend service with no browser frontend.
  • Dapper is scoped to the backend.
  • Minimal APIs is scoped to the backend.
  • Health Checks is scoped to the backend.
  • xUnit is scoped to the backend.

03 / output

What gets generated

The virtual generator produced 13 files across 1 directories. The output is a single-directory project.

Top-level entries

  • ./.env.example
  • ./.gitignore
  • ./AGENTS.md
  • ./CLAUDE.md
  • ./Dockerfile
  • ./Program.cs
  • ./README.md
  • ./appsettings.Development.json
  • ./appsettings.json
  • ./my_app.Tests
  • ./my_app.csproj
  • ./my_app.http

Representative files

  • README.md
  • Program.cs
  • .env.example
  • .gitignore
  • AGENTS.md
  • CLAUDE.md
  • Dockerfile
  • appsettings.Development.json

04 / create

Create command

This is the canonical Bun command generated for the selection.

bun create better-fullstack@latest my-app --ecosystem dotnet --database postgres --dotnet-web-framework aspnet-minimal --dotnet-orm dapper --dotnet-auth none --dotnet-api minimal-api --dotnet-testing xunit --dotnet-job-queue none --dotnet-realtime none --dotnet-observability health-checks --dotnet-validation none --dotnet-caching none --dotnet-deploy docker --dotnet-libraries none --ai-docs claude-md agents-md

05 / builder

Open in the builder

Open this exact selection →
eco
dotnet
db
postgres
au
none
dnorm
dapper
dnauth
none
dnrt
none
dnobs
health-checks

06 / checks

Compatibility notes

Compatibility checked against Better Fullstack types version 2.8.0.

The generated record has 0 graph issues and 0 disabled selected options. This is a compatibility check, not a claim that this exact scaffold received a runtime smoke verification.

  • .NET Auth is intentionally set to none.
  • .NET Realtime is intentionally set to none.

07 / fit

When to choose this shape

Choose this shape when the generated project should expose backend functionality without a browser frontend.

08 / next

Related stacks and guide

09 / faq

Questions

Is this combination supported?

It passes the repository's compatibility analysis, selected-option checks, stack graph validation, project schema parsing, and virtual generation. That result is described here as compatibility checked.

Does it generate one app or separate parts?

The generated project is centered on a backend service. The actual generated output uses a single-directory layout.

How can I customize the selection?

Open the generated builder link above. Its query parameters reproduce this selection, and the builder can change compatible options before generating a new command.

GitHub Sponsors