What is the Frederick DDD Project?
Frederick DDD is open-source project written in .NET Core.
The goal of this project is implement the most common used technologies and share with the technical community the best way to develop great applications with .NET
How to use:
- You will need Visual Studio 2017 (15.7) and the .NET Core SDK (2.1.2).
- Please check if you have installed the same runtime version (SDK) described in global.json
- The latest SDK and tools can be downloaded from https://dot.net/core.
Also you can run the Frederick DDD Project in Visual Studio Code (Windows, Linux or MacOS).
To know more about how to setup your enviroment visit the Microsoft .NET Download Guide
Technologies implemented:
- ASP.NET Core 2.0 (with .NET Core)
- ASP.NET WebApi Core
- Entity Framework Core 2.0
- .NET Core Native DI
- AutoMapper
- FluentValidator
- MediatR
- Swagger UI
Architecture:
- Domain Driven Design (Application Layer, Domain Layer, Infrastructure Layer)
- Domain Events
- Domain Notification
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Unit of Work
- Repository and Generic Repository
Disclaimer:
- NOT intended to be a definitive solution
- Beware to use in production way
- Maybe you don't need a lot of implementations that is included, try avoid the over engineering
About:
The Frederick DDD Project was developed by Frederick Nguyen and BUCA JSC Development team
Wiki:
See Wiki to understand DDD, CQRS, Event Sourcing that support you understand all layers and why you need use them in Frederick DDD project