Pipoburgos.SharedKernel.Domain

C# DDD Domain Layer


Keywords
Aggregate, AggregateRoot, C#, DDD, DomainEvent, Entity, Guards, Oriented, Programming, Railway, Repository, Rop, Specification, ValueObject
License
MIT
Install
Install-Package Pipoburgos.SharedKernel.Domain -Version 8.0.5.1

Documentation

SHARED KERNEL

This is a shared kernel implementation based on hgraca post with Domain Driven Design, Hexagonal, Onion and Clean Architectures.

Domain Driven Design basics in spanish.

𝗦𝘁𝗮𝘁𝘀

github stats

Project content:

  • CQRS with Command and Query bus. (InMemory).
  • Event sourcing with Events and Event Bus interface. (InMemoryEventBus, RedisEventBus and RabbitMqEventBus implementations)
  • Aggregates, Entities and Value Objects.
  • Specification pattern.
  • Unit of Work pattern.
  • Auditable Service.
  • Repository pattern with EFCore, Mongo, Elasticsearch, Redis and FileSystem implementations.
  • HealthChecks (Sql Server, Mongo, RabbitMq, Redis, Cpu, Ram, etc).
  • IEntityValidator with FluentValidation library.
  • Report render for SQL Server Reporting Services SSRS.
  • Active Directory Service integration.
  • Open Api 3 specification.
  • Identity Server 4 integration.
  • Use Prometheus metrics middleware.

Target Frameworks compatibility:

  • Application Core Layer: net40, net45, net451, net452, net46, net461, net462, net47, net471, net472, net48, netstandard2.0, netstandard2.1, net6.0, net7.0 and net8.0

  • Infrastructure Layer: net462, net47, net471, net472, net48, netstandard2.0, netstandard2.1, net6.0, net7.0 and net8.0

  • User Interface Layer: net6.0, net7.0 and net8.0

References

See how to configure user interface layer (Startup.cs)

See how to register a module

See ShopDDD project sample usage