All Projects → nguyentrucxinh → Aspnetcore Ddd

nguyentrucxinh / Aspnetcore Ddd

Licence: mit
Full ASP.NET Core 3.1 LTS application with DDD, CQRS and Event Sourcing

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Aspnetcore Ddd

Equinoxproject
Full ASP.NET Core 5 application with DDD, CQRS and Event Sourcing concepts
Stars: ✭ 5,120 (+5718.18%)
Mutual labels:  swagger, event-sourcing, automapper, aspnetcore, jwt, ddd, cqrs
RCM
RCM is a simple CRM application designed for Auto Parts Store made with ASP.NET Core based on DDD, CQRS and SOLID Principles.
Stars: ✭ 29 (-67.05%)
Mutual labels:  ioc, cqrs, ddd, event-sourcing, automapper
Blog.core
💖 ASP.NET Core 6.0 全家桶教程,前后端分离后端接口,vue教程姊妹篇,官方文档:
Stars: ✭ 3,542 (+3925%)
Mutual labels:  swagger, automapper, jwt, ioc, repository
Aspnetcore Webapi Course
Professional REST API design with ASP.NET Core 3.1 WebAPI
Stars: ✭ 323 (+267.05%)
Mutual labels:  swagger, webapi, automapper, jwt, identity
Weapsy
ASP.NET Core CMS
Stars: ✭ 748 (+750%)
Mutual labels:  webapi, aspnetcore, ddd, cqrs
Abp Asp.net Boilerplate Project Cms
ABP module-zero +AdminLTE+Bootstrap Table+jQuery+Redis + sql server+quartz+hangfire权限管理系统
Stars: ✭ 677 (+669.32%)
Mutual labels:  swagger, webapi, entity-framework, automapper
Christddd
🙌 ASP.NET Core 3.1 应用, 包含 DDD、CQRS、EDA 和ES事件回溯
Stars: ✭ 510 (+479.55%)
Mutual labels:  event-sourcing, automapper, ddd, cqrs
Furion
Make .NET development easier, more versatile, and more popular.
Stars: ✭ 902 (+925%)
Mutual labels:  swagger, webapi, ioc, repository
Netdevpack
A smart set of common classes and implementations to improve your development productivity.
Stars: ✭ 220 (+150%)
Mutual labels:  aspnetcore, identity, ddd, cqrs
Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
Stars: ✭ 162 (+84.09%)
Mutual labels:  event-sourcing, aspnetcore, ddd, cqrs
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 (-22.73%)
Mutual labels:  webapi, event-sourcing, ddd, cqrs
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+159.09%)
Mutual labels:  webapi, event-sourcing, ddd, cqrs
CleanArchitecture
Clean Architecture Solution for .NET 5
Stars: ✭ 18 (-79.55%)
Mutual labels:  cqrs, ddd, event-sourcing, webapi
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+80.68%)
Mutual labels:  webapi, event-sourcing, ddd, cqrs
Goldeneye
The CQRS flavoured framework that will speed up your WebAPI and Microservices development
Stars: ✭ 171 (+94.32%)
Mutual labels:  webapi, event-sourcing, entity-framework, cqrs
Aspnetcoreapistarter
An ASP.NET Core (v2.1) Web API project to quickly bootstrap new projects. Includes Identity, JWT authentication w/ refresh tokens.
Stars: ✭ 304 (+245.45%)
Mutual labels:  webapi, aspnetcore, jwt, identity
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+6956.82%)
Mutual labels:  event-sourcing, ddd, cqrs
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+704.55%)
Mutual labels:  event-sourcing, ddd, cqrs
Symfony 5 Es Cqrs Boilerplate
Symfony 5 DDD ES CQRS backend boilerplate
Stars: ✭ 759 (+762.5%)
Mutual labels:  event-sourcing, ddd, cqrs
Event Store
PHP 7.4 EventStore Implementation
Stars: ✭ 505 (+473.86%)
Mutual labels:  event-sourcing, ddd, cqrs

Diagram

Overview

Architecture

Dependencies

Project dependencies

Code flow

Repository & Unit Of Work

Techical Stack

  • ASP.NET Core 3.1 (with .NET Core 3.1)
  • ASP.NET WebApi Core
  • ASP.NET Identity Core
  • Entity Framework Core 3.1
  • .NET Core Native DI
  • AutoMapper
  • FluentValidator
  • MediatR
  • Swagger UI
  • MSSQL
  • xUnit
  • Moq
  • Fluent Assertions
  • Polly
  • Refit

Design Patterns

  • Domain Driven Design
  • Domain Events
  • Domain Notification
  • CQRS
  • Event Sourcing
  • Unit Of Work
  • Repository & Generic Repository
  • Inversion of Control / Dependency injection
  • ORM
  • Mediator
  • Specification Pattern
  • Options Pattern

How to run

  • Visual Studio: Just run
  • VSCode: Just run
  • Terminal: dotnet run --project src/DDD.Services.Api/DDD.Services.Api.csproj --launch-profile Dev

Testing

  • Terminal: dotnet test

Docker

docker build -t aspnetcore-docker-image .
docker run -it --rm -p 3000:80 --name aspnetcore-docker-container aspnetcore-docker-image
docker run -d -p 3000:80 --name aspnetcore-docker-container aspnetcore-docker-image

Swagger (Dev env only)

Health check (Staging & Prod env only)

TODO

  • [x] Use multiple environments
  • [x] Transaction (Unit of Work)
  • [x] Validation (FluentValidation)
  • [x] Response wrapper
  • [x] Async/Await
  • [x] REST
  • [x] JWT
  • [x] Mapping (AutoMapper)
  • [x] API Specification, API Definition (Swagger)
  • [x] ORM {Entity Framework Core}
  • [x] Middleware
  • [x] CORS
  • [x] Pagination
  • [x] Sorting
  • [x] Error Handling, Global Exception
  • [x] HealthCheck
  • [x] Mail
  • [x] Http
  • [x] Database Auditing: CreatedAt/UpdatedAt CreatedBy/UpdatedBy
  • [x] Soft Delete
  • [x] Common: Constants, Helpers
  • [x] Docker
  • [x] EF: Shadow Properties
  • [x] Events
  • [x] Unit Testing
  • [x] Integration Testing
  • [x] Scoped over Transient
  • [x] Use abstract keyword to appropriate class
  • [x] Use IQueryable, IEnumerable, IList interfaces
  • [x] Use NetStandard 2.1 for Class Library
  • [x] Hashing
  • [x] AnalysisLevel: Automatically find latent bugs
  • [ ] Migration, Scaffold
  • [ ] Data Seeding
  • [ ] Logging
  • [ ] OAuth2, OIDC (OpenId Connect)
  • [ ] SignalR
  • [ ] Search
  • [ ] Kafka, RabbitMQ
  • [ ] Microservices, API Gateway
  • [ ] Multi-tenancy
  • [ ] StyleCop
  • [ ] API Versioning
  • [ ] API Versioning with Swagger
  • [ ] Primary Key to Integer
  • [ ] File storage: Upload/Download
  • [ ] Kubernetes
  • [ ] Globalization & Localization
  • [ ] Caching
  • [ ] Kestrel
  • [ ] Secret Manager
  • [ ] Task scheduling & Queues
  • [ ] Session & Cookie
  • [ ] Notifications
  • [ ] Encryption
  • [ ] EF: No-tracking queries
  • [ ] Dapper, Dapper Contrib (Optional)
  • [ ] BulkInsert, BulkUpdate, Async method for IRepository

References

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