HTLLeonding.Utility.Templates 1.6.1

Prefix Reserved
dotnet new install HTLLeonding.Utility.Templates::1.6.1                
This package contains a .NET Template Package you can call from the shell/command line.

HTL Leonding .NET/C# Project Templates

Used to create projects for assignments @HTL Leonding.

Installation

dotnet new install HTLLeonding.Utility.Templates

Updates

Running the install command above again will update the templates package to the latest version.

Usage

Do not forget to update referenced NuGet packages (and potentially .NET version) in the projects after creation!

leoconsole

Console Application

  • Main project + unit test project
    • With solution file
    • Optional --tests false flag can be added to not generate a unit test project
  • Includes .gitignore file
  • Includes .editorconfig file

Syntax: dotnet new leoconsole -n <ASSIGNMNET_NAME> -o . [--tests false]

Example: dotnet new leoconsole -n VendingMachine -o .

leowebapi

WebAPI (REST) Application

  • Includes:
    • Startup project with controller
    • Core project with business logic & services
    • Persistence project with data access
    • Shared project with utility classes
    • Unit test project
    • Integration test project (WebApplicationFactory & Testcontainers)
  • Demonstrates fully configured application with validation, DI, logging (Serilog), application settings, testing & UOW based data access
    • Sample entities can be easily replaced, while configuration should be a good default for most projects
  • Includes a .http requests file with sample requests
  • Migrations can be managed via provided script
  • Includes .gitignore & .editorconfig files
  • Includes a basic GH actions workflow for CI
  • By default binds to port 5200
  • Assumes a PostgreSQL database, but can be easily replaced with other providers
  • Does not include:
    • Auth: should be handled via dedicated OIDC provider and explained in an explicit assignment
    • HTTPS: SSL termination should be handled by a reverse proxy when deployed
    • Swagger-UI: No longer part of the official template and also not needed when a .http file exists
    • Dockerfile: deployment should be explained separately

Syntax: dotnet new leowebapi -n <ASSIGNMNET_NAME> -o .

Example: dotnet new leowebapi -n Rockets -o .

leominiapi

Minimal WebAPI (REST) Application

  • Main project, with:
    • Basic libraries
    • JSON Serializer Configuration
    • Prepared DI setup
    • A single demo endpoint
    • OpenApi
  • Meant for development/container internal use (no HTTPS)
  • Includes a http requests file with sample requests
  • Includes .gitignore file
  • Includes .editorconfig file
  • By default binds to port 5200

Syntax: dotnet new leominiapi -n <ASSIGNMENT_NAME> -o .

Example: dotnet new leominiapi -n PoolGuard -o .

leoblazorpages

Blazor WASM Application for GitHub Pages deployment

  • A simple, single project Blazor WASM template
  • Set up to be easily deployed to GitHub Pages with very little manual configuration
    • Pages has to be enabled in GitHub, instructions are in the template readme
  • Demonstrates:
    • Dynamic content and events (buttons)
    • Loading data via HTTP request and showing it in a table
    • CSS isolation
  • Includes .gitignore
  • Includes .editorconfig file
  • By default binds to port 5250
  • HTTPS config removed on purpose (will be HTTPS on GH Pages) to keep the first steps simpler
  • If the repository is owned by an organization (classrooms!) the organization admin has to enable read & write access for actions in the organization settings, otherwise the bot is not allowed to create the gh-pages branch!

Syntax: dotnet new leoblazorpages -n <ASSIGNMENT_NAME> -o .

Example: dotnet new leoblazorpages -n HerbalGarden -o .

  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.6.1 107 1/1/2025
1.6.0 91 1/1/2025
1.6.0-dev1 76 1/1/2025
1.5.2 137 11/20/2024
1.5.1 99 11/16/2024
1.5.0 91 11/16/2024
1.4.3 178 9/29/2024
1.4.2 112 9/29/2024
1.4.1 134 9/21/2024
1.4.0 95 9/21/2024
1.3.0 148 9/14/2024
1.2.2 171 8/16/2024
1.2.1 128 8/15/2024
1.2.0 118 8/11/2024
1.2.0-dev1 101 8/11/2024
1.1.0 374 4/3/2024
1.0.13 1,393 2/4/2024
1.0.12 567 6/16/2023
1.0.11 308 4/23/2023
1.0.10 227 4/6/2023
1.0.9 282 3/20/2023
1.0.8 308 2/21/2023
1.0.7 252 2/21/2023
1.0.6 404 12/8/2022
1.0.5 384 11/13/2022
1.0.4 342 11/13/2022
1.0.2 345 11/13/2022
1.0.1 346 11/13/2022
1.0.0 357 11/13/2022