Netcore Boilerplate

screenshot of Netcore Boilerplate

Boilerplate of API in .NET 10

Overview

The netcore-boilerplate is a boilerplate for creating API projects in .NET Core 3.1. It provides a template that contains pre-configured code and features to quickly kick-off a project. The boilerplate includes features such as Central Package Management, Swagger, Feature Management, Health Checks, and various database providers. It also includes code quality tools like EditorConfig, Analyzers, and Code Coverage. The netcore-boilerplate also provides architectural tests, continuous integration, and docker support.

Features

  • Central Package Management (CPM)
  • Swagger + Swashbuckle
  • Feature Management (Feature Flags, Feature Toggles)
  • Health Checks
  • EF Core
  • MySQL provider from Pomelo Foundation
  • MsSQL from Microsoft
  • Dapper
  • Microsoft.Data.Sqlite
  • Integration tests with InMemory database
  • FluentAssertions
  • xUnit
  • Verify
  • Verify.HttpTestServer
  • AutoFixture
  • Moq
  • Moq.AutoMock
  • Architectural tests (conventional tests)
  • NetArchTest
  • EditorConfig
  • Analyzers (Microsoft.CodeAnalysis.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.VisualStudio.Threading.Analyzers)
  • Code Analysis Rules (HappyCode.NetCoreBoilerplate.rules)
  • Code coverage (Coverlet, Codecov)
  • Continuous integration (Travis CI, GitHub Actions)
  • Docker support (Dockerfile, docker-compose)
  • Serilog Sink: AsyncDbUp as a db migration tool

Summary

The netcore-boilerplate is a comprehensive boilerplate for API projects in .NET Core 3.1. It provides pre-configured code and features to help developers quickly kick-off their projects. The boilerplate includes essential features like Swagger, Feature Management, and Health Checks. It also provides support for multiple database providers, code quality tools, code coverage, and continuous integration. The netcore-boilerplate is easy to install and can be customized to fit specific project requirements.