Skip to content
Clean Minimal API
Lean Mean Clean Apps

Five templates, one search box. Everything in the docs is in here, including the bits we hoped you'd skim.

Try one of these

Results say which template they came from, so you won't end up reading about Lambda when you wanted GraphQL. Again.

Project structure

  • Directorysrc/
    • DirectoryApplication/ the domain and the rules
      • DirectoryAuthors/ queries and entities for authors
        • …
      • DirectoryMovies/ queries and entities for movies
        • …
      • DirectoryReviews/ queries, commands and entities for reviews
        • …
      • DirectoryVersions/ the version query
        • …
      • DirectoryCommon/
        • DirectoryBehaviours/ the validation pipeline behaviour
          • …
        • DirectoryExceptions/ NotFoundException
          • …
        • DirectoryPaging/ shared paging rules
          • …
      • DependencyInjection.cs
    • DirectoryInfrastructure/ the data
      • DirectoryDatabases/MovieReviews/ the EF Core context, models, mapping, migrations and repositories
        • …
      • DependencyInjection.cs
      • DirectoryPresentation/ the Minimal API
        • DirectoryEndpoints/ one static class of endpoints per feature, plus the version endpoint
          • …
        • DirectoryRequests/ the bodies of the create and update review requests
          • …
        • DirectoryErrors/ ApplicationExceptionHandler, Application exceptions to Problem Details
          • …
        • DirectoryOpenApi/ document and security transformers
          • …
        • DirectorySerialization/ the source-generated JSON context
          • …
        • DirectoryAuthentication/ the JWT bearer settings
          • …
        • DirectoryExtensions/ builder and app configuration
          • …
        • Program.cs
        • appsettings.json, appsettings.local.json, appsettings.docker.json
  • Directorytests/
    • DirectoryApplication.Tests.Unit/
      • …
    • DirectoryInfrastructure.Tests.Integration/
      • …
    • DirectoryPresentation.Tests.Integration/
      • …
    • DirectoryPresentation.Tests.Unit/
      • …
  • docs/RUN.md
  • Directory.Build.props build rules and analyzers for every project
  • Directory.Packages.props every package version, in one place
  • Dockerfile
  • docker-compose.yml
  • global.json
Project References Notes
Presentation Application, Infrastructure References Infrastructure only to wire up dependency injection
Application none Owns the entities, the repository interfaces and the rules
Infrastructure Application Every class is internal