/Frederick-Domain-Design-Driven

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

Primary LanguageC#

Frederick DDD Project

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