DevInsightForge Web API Template
Overview
This template provides a foundation for building a DevInsightForge Web API project using C#.
- Identity: DevInsightForge.Templates.Api
- License: MIT
Description
This template serves as a starting point for a DevInsightForge Web API project. It includes essential structures and configurations to kickstart your development process.
License and Policy
- License: MIT
- Source and package metadata include MIT license declaration and repository attribution.
- Usage policy: this template is provided “as is” under MIT terms. You are responsible for validating security, compliance, and legal requirements before production use.
Features
- ASP.NET Core Web API project
- Clean architecture pattern
- EF Core integration points
- Domain Driven Design
- Repository pattern
- Fluent Validation
- Mapster
Prerequisites
- .NET SDK 10.0+ (LTS)
dotnet-eftool (for .NET CLI migration commands):
dotnet tool install --global dotnet-ef
Installation
To install the DevInsightForge Web API Template, use the following command:
dotnet new install DevInsightForge.Templates.Api
For local development, install from this repository root:
dotnet new install .
Create Solution Using Template
To create a new solution using the DevInsightForge Web API Template, use the following command:
dotnet new devforgeapi -n YourSolutionNameHere
Pack Template (Maintainers)
Build a template package using the SDK-style pack project:
dotnet pack DevInsightForge.Templates.Api.csproj -c Release
Manage Migrations
Use either .NET CLI or Package Manager Console.
Apply Migrations
.NET CLI:
dotnet ef database update --project .\YourProjectName.Persistence --startup-project .\YourProjectName.WebAPI
Package Manager Console (select YourProjectName.Persistence as Default Project):
Update-Database
Add New Migration
.NET CLI:
dotnet ef migrations add InitialCreate --project .\YourProjectName.Persistence --startup-project .\YourProjectName.WebAPI
Package Manager Console (select YourProjectName.Persistence as Default Project):
Add-Migration InitialCreate