A multi-project solution .NET template for creating an enterprise-level application that includes the use of .NET Identity, Swagger, API Versioning, CORS, Localization, NLog, Fluent Validation, Fluent Email, IP Rate Limiting using the .NET 5 Framework and are guided by the Clean Architecture principles enabling rapid application development.
A multi-project solution .NET template for creating a an enterprise level application that includes the use of Swagger, API Versioning,
Localization, NLog, Fluent Validation, Fluent Email, IP Rate Limiting using the .NET 5 Framework and are guided by the Clean Architecture
principles enabling rapid application development.
This template serves two purposes, to standardize the creation of ASP.NET Core 5 Web API projects and share knowledge on ways
to implement projects with enterprise level considerations.
The project template consist of scafolding for API Versioning, Ip Rate Limiting, Security Headers, CORS, Application Logging, CQRS, Localization,
JWT Authorization, Swagger (Open API) and Unit Tests.
Use the instructions provided below to get the project up and running.
You will need the following tools:
dotnet new --install Net5WebTemplate::1.0.0-preview.2
to install the project templatedotnet new net5webtemplate -o "MyProject"
to create a new projectASP.NET Core Web API uses HTTPS and relies on certificates for trust, identity and encryption.
To run Net5WebTemplate application Docker over HTTPS during development do the following:
Note: Update the docker-compose file with dev-cert password used.
On Windows using Linux Containers
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p your_password
dotnet dev-certs https --trust
When using PowerShell, replace %USERPROFILE% with $env:USERPROFILE.
On macOS or Linux
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p { password here }
dotnet dev-certs https --trust
docker-compose -f 'docker-compose.yml' up --build
To setup the SQL Server database following the instrcutions below:
dotnet ef migrations add Initial --context <ProjectName>DbContext
to add migation with EF Coredotnet ef database update Initial
to create application database.This solution’s structure was heavily infuenced by Jason Taylor’s Clean Architecture model.
API Icon made by Freepik from www.flaticon.com
The master branch is running .NET 5.0
This project is licensed under the MIT License - see the LICENSE.md file for details.