CraftersCloud Core is a set of .NET libraries that provides infrastructure and utilities for building applications with Minimal Api, Entity Framework and MediatR.
It includes features such as domain event handling, transaction management, smart enums, swagger, repository implementations, health-checks, authentication/authorization, unit testing and more.
- Minimal Api
- Authorization
- Error handling
- Validation
- Domain events
- Entities, Repositories, Unit of work
- Paging
- Command/Queries (CQRS)
- Entities
- Results
- StronglyTypedIds
- Various utilities and extensions
- Mediatr integration (e.g. Validation, Logging)
- Source generators for the Core library (e.g. StronglyTypedIds)
- Seeding
- IQueryable extensions
- MediatR pipeline for the transaction management
- Unit of work implementation
- Entity framework repository implementation
- MediatR pipeline for the publishing of the domain events
- TBD
- HealthChecks Authorization
- HealthChecks registration extensions
- Common infrastructure utilities
- Default TimeProvider implementation
- Support for the integration events
- Provides support for Smart enums (based on Ardalis.SmartEnum library)
- Provides support for persisting smart enums with Entity Framework
- Provides support for generating Swagger documentation for smart enums
- Provides support for (de)serialization of SmartEnums
- NSwag generation utilities
- Shared classes for tests
- .NET 9.0 SDK
- Visual Studio or JetBrains Rider
To install the library, add any of the following packages starting with "CraftersCloud.Core" to your project:
dotnet add package CraftersCloud.Core.AspNetCore
dotnet add package CraftersCloud.Core.MediatR
dotnet add package CraftersCloud.Core.SourceGenerator
dotnet add package CraftersCloud.Core
dotnet add package CraftersCloud.Core.EntityFramework
dotnet add package CraftersCloud.Core.Core.EntityFramework
dotnet add package CraftersCloud.Core.EventBus
dotnet add package CraftersCloud.Core.HealthChecks
dotnet add package CraftersCloud.Core.Infrastructure
dotnet add package CraftersCloud.Core.IntegrationEvents
dotnet add package CraftersCloud.Core.SmartEnums.EntityFramework
dotnet add package CraftersCloud.Core.SmartEnums.Swagger
dotnet add package CraftersCloud.Core.SmartEnums.SystemTextJson
dotnet add package CraftersCloud.Core.SmartEnums
dotnet add package CraftersCloud.Core.Swagger
dotnet add package CraftersCloud.Core.Tests.Shared