All Projects → cesarcastrocuba → Nlayerappv3

cesarcastrocuba / Nlayerappv3

Domain Driven Design (DDD) N-LayeredArchitecture with .Net Core 2

Projects that are alternatives of or similar to Nlayerappv3

Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+15.22%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+4400%)
Mutual labels:  dotnetcore, ddd, domain-driven-design, ddd-architecture
Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 227 (+64.49%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-5.07%)
Mutual labels:  dotnet-core, dotnetcore, ddd, domain-driven-design
Architecture
.NET 6, ASP.NET Core 6, Entity Framework Core 6, C# 10, Angular 13, Clean Code, SOLID, DDD.
Stars: ✭ 2,285 (+1555.8%)
Mutual labels:  dotnet-core, dotnetcore, ddd, domain-driven-design
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+5878.26%)
Mutual labels:  ddd, dotnetcore, asp-net-core, ddd-architecture
Ddd Tdd Rich Domain Model Dojo Kata
DDD patterns implemented following TDD
Stars: ✭ 91 (-34.06%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
Puck Core
Open source, cross platform .NET Core CMS. Fast, scalable, code-first, unobtrusive and extensible with powerful querying and Lucene integration.
Stars: ✭ 115 (-16.67%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore
Simplcommerce
A simple, cross platform, modularized ecommerce system built on .NET Core
Stars: ✭ 3,474 (+2417.39%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore
Ddd Guestbook
A DDD guestbook example written for ASP.NET Core
Stars: ✭ 447 (+223.91%)
Mutual labels:  asp-net-core, ddd, ddd-architecture
Cp Ddd Framework
A lightweight flexible development framework for complex business architecture with full ecosystem!轻量级业务中台开发框架,中台架构的顶层设计和完整解决方案!
Stars: ✭ 566 (+310.14%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Sio.core
✔ [ SIOC ] Swastika I/O Core is an all in one platform (e.g CMS, eCommerce, Forum, Q&A, CRM...) ASP.NET Core / Dotnet Core System based on SIOH Framework.
Stars: ✭ 121 (-12.32%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore
Ocelot
.NET core API Gateway
Stars: ✭ 6,675 (+4736.96%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore
Mix.core
🚀 Mixcore CMS is an open source CMS that support both headless and decoupled to easily build any kinds of app/web app/customisable APIs built on top of ASP.NET Core / Dotnet Core. It is a completely open source ASP.NET Core (Dotnet Core) CMS solution. https://mixcore.org
Stars: ✭ 304 (+120.29%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (+200%)
Mutual labels:  dotnet-core, ddd, domain-driven-design
Domain Driven Design Zh
DDD《领域驱动设计》中文翻译
Stars: ✭ 307 (+122.46%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Hexagonal Architecture Acerola
An Hexagonal Architecture service template with DDD, CQRS, TDD and SOLID using .NET Core 2.0. All small features are testable and could be mocked. Adapters could be mocked or exchanged.
Stars: ✭ 293 (+112.32%)
Mutual labels:  dotnet-core, ddd, domain-driven-design
Patterns
Complete catalog of all classical patterns in the Archimate language
Stars: ✭ 70 (-49.28%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (-50.72%)
Mutual labels:  dotnetcore, ddd, domain-driven-design
Docker Series
Docker Series about containerizing ASP.NET Core app with MySQL..
Stars: ✭ 88 (-36.23%)
Mutual labels:  asp-net-core, dotnet-core, dotnetcore

NLayerAppV3

This N-Layered Architecture with .Net Core 2.1 project (NLayerAppV3) is retro rebuild new code project based on DDD N-LayeredArchitecture Version 2. It contains all DDD Layers where the developer and software architect may reuse to implement a .Net Core WebApi (Version 2.1) for Banking and Blog Contexts. Why to use .NET Core 2.1? We need to use this version because of EF Core Complex Types - Value Object implementation (OwnsOne) and TransactionScope implementation using in Application Layer. This project is a tribute to the recent visit to Madrid of Cesar de la Torre in order to give us an amazing conference called 'Microservices Architectures' [https://geeks.ms/plainnews/2017/05/04/microservices-architectures/].

Demo

  • Main Bounded Context [http://nlayerappv3mainboundedcontext.azurewebsites.net]
  • Blog Bounded Context [http://nlayerappv3blogboundedcontext.azurewebsites.net]

Getting Started

Install the .NET Core 2.1 runtime for your host environment from [https://www.microsoft.com/net/core/] (https://www.microsoft.com/net/core/)

In a terminal, navigate to the folder of this project and type the following to restore the dependencies:

dotnet restore

To start the API, navigate to the 'DistributedServices.MainBoundedContext' folder and type:

dotnet run

Browse to http://localhost:5000/ to see the result.

To run the tests, navigate to the 'DistributedServices.MainBoundedContext.Tests' or antoher test project folder and type:

dotnet test

Code Overview

The solution consists of sixteen projects: the API, Application, Domain and infrastructure projects.

  • DistributedServices.MainBoundedContext
  • DistributedServices.MainBoundedContext.Tests
  • Application.Seedwork
  • Application.MainBoundedContext
  • Application.MainBoundedContext.DTO
  • Application.MainBoundedContext.Tests
  • Domain.Seedwork
  • Domain.Seedwork.Tests
  • Domain.MainBoundedContext
  • Domain.MainBoundedContext.Tests
  • Infrastructure.Data.Seedwork
  • Infrastructure.Data.MainBoundedContext
  • Infrastructure.Data.MainBoundedContext.Tests
  • Infrastructure.Crosscutting
  • Infrastructure.Crosscutting.NetFramework
  • Infrastructure.Crosscutting.Tests

DistributedServices.MainBoundedContext

This project contains the API controllers (sync and async methods).

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

DistributedServices.MainBoundedContext.Tests

This project contains the integration and unit tests.

Dependencies

  • TestHost: for in-process API testing
  • xUnit: as the testing framework
  • Newtonsoft.Json: for JSON deserialization
  • FluentAssertions: to write beautiful assertions with Should().
  • Moq: Moq is intended to be simple to use, strongly typed and minimalistic (while still fully functional!).

Application.Seedwork

This project contains Error Exceptions and Projections Extensions.

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

Application.MainBoundedContext

This project contains the modules and an anemic generic application common service.

Dependencies

  • Microsoft.Extensions.Logging: Logging.

Application.MainBoundedContext.DTO

This project contains the DTOs, profiles and validations.

Dependencies

  • Automapper: A convention-based object-object mapper
  • Fluent Validation: A small validation library for .NET
  • Newtonsoft.Json: for JSON deserialization

Application.MainBoundedContext.Tests

This project contains the adapters and application services tests.

Dependencies

  • xUnit: as the testing framework
  • Moq: Moq is intended to be simple to use, strongly typed and minimalistic (while still fully functional!).

Domain.Seedwork

This project contains the base entities with guid, int and string identities, value object and auditable classes.

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

Domain.Seedwork.Tests

This project contains unit tests.

Dependencies

  • xUnit: as the testing framework

Domain.MainBoundedContext

This project contains the aggregates, domains entities, value objects, factories, specifications and the repositories interfaces.

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

Domain.MainBoundedContext.Tests

This project contains unit tests of the domain entities, value objects, ....

Dependencies

  • xUnit: as the testing framework

Infrastructure.Data.Seedwork

This project contains the Repository base class and some interfaces.

Dependencies

  • Microsoft.EntityFrameworkCore.InMemory: In-memory database provider for Entity Framework Core (to be used for testing purposes).

Infrastructure.Data.MainBoundedContext

This project contains the repositories.

Dependencies

  • Microsoft.EntityFrameworkCore.InMemory: In-memory database provider for Entity Framework Core (to be used for testing purposes).
  • System.Security.Claims: Provides classes that implement claims-based identity.

Infrastructure.Data.MainBoundedContext.Tests

This project contains the repository unit tests.

Dependencies

  • xUnit: as the testing framework

Infrastructure.Crosscutting

This project contains the Adapters, Localization and Validator Crosscutting definitions.

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

Infrastructure.Crosscutting.NetFramework

This project contains the Adapters, Localization and Validator Crosscutting factory implementations.

Dependencies

  • Microsoft.NETCore.App: A set of .NET API's that are included in the default .NET Core application model.

Infrastructure.Crosscutting.Tests

This project contains the crosscutting unit tests.

Dependencies

  • xUnit: as the testing framework

Documentation

Things to improve

  • .Net Core Localization.
  • Docker.
  • FrontEnd implementation with Angular.
  • More tests.
  • Store Procedures execution with ef core.
  • Versioning.
  • Security with Identity Server4.
  • Cache.

Feedback

Feedback about this project is greatly appreciated.

Copyright

2017 César Castro and Microsoft Corporation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].