All Projects โ†’ pereiren โ†’ Dotnet Template Onion

pereiren / Dotnet Template Onion

Onion Architecture with .NET 5/.NET Core and CQRS/Event Sourcing following a DDD approach

Projects that are alternatives of or similar to Dotnet Template Onion

Netcorekit
๐Ÿ’— A crafted toolkit for building cloud-native apps on the .NET platform
Stars: โœญ 248 (+254.29%)
Mutual labels:  dotnet-core, clean-architecture, ddd, microservices-architecture
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: โœญ 1,903 (+2618.57%)
Mutual labels:  dotnet-core, clean-architecture, ddd, microservices-architecture
Modernarchitectureshop
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure for building highly decoupled Microservices; for this reason, I am using Dapr to achieve the noble goal of building a highly scalable application with clean architecture and clean code.
Stars: โœญ 154 (+120%)
Mutual labels:  dotnet-core, clean-architecture, microservices-architecture
Monolith Microservice Shop
Source code for https://threedots.tech/post/microservices-or-monolith-its-detail/ article.
Stars: โœญ 83 (+18.57%)
Mutual labels:  clean-architecture, ddd, microservices-architecture
Dotnetcore Microservices Poc
Very simplified insurance sales system made in a microservices architecture using .NET Core
Stars: โœญ 1,304 (+1762.86%)
Mutual labels:  dotnet-core, ddd, microservices-architecture
Blog Core
Modular blog using Blazor with clean domain-driven design patterns
Stars: โœญ 345 (+392.86%)
Mutual labels:  dotnet-core, clean-architecture, ddd
Architecture
.NET 6, ASP.NET Core 6, Entity Framework Core 6, C# 10, Angular 13, Clean Code, SOLID, DDD.
Stars: โœญ 2,285 (+3164.29%)
Mutual labels:  dotnet-core, clean-architecture, ddd
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 (+224.29%)
Mutual labels:  dotnet-core, clean-architecture, ddd
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: โœญ 1,594 (+2177.14%)
Mutual labels:  ddd, clean-architecture, microservices-architecture
Practical Clean Ddd
A simplified and effortless approach to get started with Domain-driven Design, Clean Architecture, CQRS, and Microservices patterns
Stars: โœญ 28 (-60%)
Mutual labels:  clean-architecture, ddd, microservices-architecture
Cleanarchitecture
Clean Architecture Solution Template for .NET 6
Stars: โœญ 7,266 (+10280%)
Mutual labels:  clean-architecture, template
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: โœญ 6,210 (+8771.43%)
Mutual labels:  clean-architecture, ddd
Kledex
.NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
Stars: โœญ 502 (+617.14%)
Mutual labels:  dotnet-core, ddd
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: โœญ 414 (+491.43%)
Mutual labels:  dotnet-core, ddd
Ios Awesome Starter Kit
The perfect combination: Clean Swift + ReSwift + PromiseKit
Stars: โœญ 596 (+751.43%)
Mutual labels:  clean-architecture, template
Cp Ddd Framework
A lightweight flexible development framework for complex business architecture with full ecosystem๏ผ่ฝป้‡็บงไธšๅŠกไธญๅฐๅผ€ๅ‘ๆก†ๆžถ๏ผŒไธญๅฐๆžถๆž„็š„้กถๅฑ‚่ฎพ่ฎกๅ’ŒๅฎŒๆ•ด่งฃๅ†ณๆ–นๆกˆ๏ผ
Stars: โœญ 566 (+708.57%)
Mutual labels:  clean-architecture, ddd
Shriek Fx
An easy-to-use rapid development framework developed on the basis of.NET Core 2.0, following the constraints of domain Driven Design (DDD) specifications, combined with the CQRS architecture to provide the infrastructure for event-driven, event backtracking, responsiveness, and more. Let developers enjoy the true meaning of object-oriented design patterns brought by the aesthetic.
Stars: โœญ 644 (+820%)
Mutual labels:  dotnet-core, ddd
Ocelot
.NET core API Gateway
Stars: โœญ 6,675 (+9435.71%)
Mutual labels:  dotnet-core, microservices-architecture
Wild Workouts Go Ddd Example
Complete application to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring of a Go project.
Stars: โœญ 756 (+980%)
Mutual labels:  clean-architecture, ddd
Run Aspnetcore Microservices
Microservices on .Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Ocelot API Gateway, MongoDB, Redis, PostgreSQL, SqlServer, Dapper, Entity Framework Core, CQRS and Clean Architecture implementation. Also includes Cross-Cutting concerns like Implementing Centralized Distributed Logging with Elasticsearch, Kibana and SeriLog, use the HealthChecks with Watchdog, Implement Retry and Circuit Breaker patterns with Polly and so on.. See Microservices Architecture and Step by Step Implementation on .NET Course w/ discount->
Stars: โœญ 406 (+480%)
Mutual labels:  clean-architecture, microservices-architecture

dotnet-template-onion

dotnet-template-onion logo

A .NET/.NET Core template to use Onion Architecture and DDD (Domain Driven Design) with CQRS and ES with a simple example on how to use all this architecture together from the Controller until the Repository class using Domain objects and different patterns.

Documentation

You can find information about this template in:

Prerequisites

.NET 5

Ensure you have the correct dotnet-core SDK installed for your system:

https://dotnet.microsoft.com/download/dotnet/5.0

This is just the version used by the template, if you need to use a newer or older one, you can do it manually after.

Usage

  1. Clone this repository
  2. To allow the api to be created you will need to install the template from nuget:
dotnet new -i {{Path_where_you_cloned_the_repository}}
  • Example:
dotnet new -i C:\GitLocal\dotnet-template-onion
  1. To check that the template has been installed successfully:
dotnet new -l
  • There should now be a new template dotnet_template_onion
Templates                                          Short Name                 Language          Tags
----------------------------------------------------------------------------------------------------------
.NET Core 3.1 Template with CQRS, ES and DDD       dotnet_template_onion      [C#]              Web/API/Microservices
  1. Create the .Net Core Solution
dotnet new dotnet_template_onion -n {{Namespace_of_your_project}} -o <outputFolder>
  • This will create the folder containing a solution and project folder.

And you are ready to go, you can use Visual Studio, Visual Studio Code or any other IDE to proceed with your coding.

Structure of the template

C:.
โ”‚   .gitignore
โ”‚   Dotnet.Onion.Template.sln
โ”‚   README.md
โ”‚
โ”œโ”€โ”€โ”€docs
โ”‚       ARCHITECTURE.md
โ”‚       CQRS-ES.md
โ”‚       DDD.md
โ”‚       HEXAGONAL.md
โ”‚       SOLID.md
โ”‚
โ”œโ”€โ”€โ”€images
โ”‚       dotnet-onion-ddd-cqrs-es.jpg
โ”‚
โ”œโ”€โ”€โ”€src
โ”‚   โ”œโ”€โ”€โ”€Dotnet.Onion.Template.API
โ”‚   โ”‚   โ”‚   .dockerignore
โ”‚   โ”‚   โ”‚   Dockerfile
โ”‚   โ”‚   โ”‚   Dotnet.Onion.Template.API.csproj
โ”‚   โ”‚   โ”‚   Program.cs
โ”‚   โ”‚   โ”‚   Startup.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Bindings
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Config
โ”‚   โ”‚   โ”‚       appsettings-dev.json
โ”‚   โ”‚   โ”‚       appsettings-int.json
โ”‚   โ”‚   โ”‚       appsettings-prod.json
โ”‚   โ”‚   โ”‚       appsettings-stag.json
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Controllers
โ”‚   โ”‚   โ”‚       TasksController.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Extensions
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€โ”€Middleware
โ”‚   โ”‚   โ”‚           ErrorDetails.cs
โ”‚   โ”‚   โ”‚           ExceptionMiddleware.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ””โ”€โ”€โ”€Properties
โ”‚   โ”‚           launchSettings.json
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€โ”€Dotnet.Onion.Template.Application
โ”‚   โ”‚   โ”‚   Dotnet.Onion.Template.Application.csproj
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Handlers
โ”‚   โ”‚   โ”‚       TaskCommandHandler.cs
โ”‚   โ”‚   โ”‚       TaskEventHandler.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Mappers
โ”‚   โ”‚   โ”‚       TaskViewModelMapper.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€โ”€Services
โ”‚   โ”‚   โ”‚       ITaskService.cs
โ”‚   โ”‚   โ”‚       TaskService.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ””โ”€โ”€โ”€ViewModels
โ”‚   โ”‚           TaskViewModel.cs
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€โ”€Dotnet.Onion.Template.Domain
โ”‚   โ”‚   โ”‚   Dotnet.Onion.Template.Domain.csproj
โ”‚   โ”‚   โ”‚   IAggregateRoot.cs
โ”‚   โ”‚   โ”‚   IRepository.cs
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ””โ”€โ”€โ”€Tasks
โ”‚   โ”‚       โ”‚   ITaskFactory.cs
โ”‚   โ”‚       โ”‚   ITaskRepository.cs
โ”‚   โ”‚       โ”‚   Task.cs
โ”‚   โ”‚       โ”‚
โ”‚   โ”‚       โ”œโ”€โ”€โ”€Commands
โ”‚   โ”‚       โ”‚       CreateNewTaskCommand.cs
โ”‚   โ”‚       โ”‚       DeleteTaskCommand.cs
โ”‚   โ”‚       โ”‚       TaskCommand.cs
โ”‚   โ”‚       โ”‚
โ”‚   โ”‚       โ”œโ”€โ”€โ”€Events
โ”‚   โ”‚       โ”‚       TaskCreatedEvent.cs
โ”‚   โ”‚       โ”‚       TaskDeletedEvent.cs
โ”‚   โ”‚       โ”‚       TaskEvent.cs
โ”‚   โ”‚       โ”‚
โ”‚   โ”‚       โ””โ”€โ”€โ”€ValueObjects
โ”‚   โ”‚               Description.cs
โ”‚   โ”‚               Summary.cs
โ”‚   โ”‚               TaskId.cs
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€Dotnet.Onion.Template.Infrastructure
โ”‚       โ”‚   Dotnet.Onion.Template.Infrastructure.csproj
โ”‚       โ”‚
โ”‚       โ”œโ”€โ”€โ”€Factories
โ”‚       โ”‚       EntityFactory.cs
โ”‚       โ”‚       TaskFactory.cs
โ”‚       โ”‚
โ”‚       โ””โ”€โ”€โ”€Repositories
โ”‚               TaskRepository.cs
โ”‚
โ””โ”€โ”€โ”€tests
    โ””โ”€โ”€โ”€Dotnet.Onion.Template.Tests
        โ”‚   Dotnet.Onion.Template.Tests.csproj
        โ”‚
        โ””โ”€โ”€โ”€UnitTests
            โ”œโ”€โ”€โ”€Application
            โ”‚   โ””โ”€โ”€โ”€Services
            โ”‚           TaskServiceTests.cs
            โ”‚
            โ””โ”€โ”€โ”€Helpers
                    HttpContextHelper.cs
                    TaskHelper.cs
                    TaskViewModelHelper.cs



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].