All Projects โ†’ ivanpaulovich โ†’ Ddd Tdd Rich Domain Model Dojo Kata

ivanpaulovich / Ddd Tdd Rich Domain Model Dojo Kata

Licence: apache-2.0
DDD patterns implemented following TDD

Projects that are alternatives of or similar to Ddd Tdd Rich Domain Model Dojo Kata

Clean Architecture Manga
๐ŸŒ€ Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: โœญ 3,104 (+3310.99%)
Mutual labels:  dotnet-core, domain-driven-design, ddd-architecture, tdd
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 (+149.45%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
Nlayerappv3
Domain Driven Design (DDD) N-LayeredArchitecture with .Net Core 2
Stars: โœญ 138 (+51.65%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: โœญ 159 (+74.73%)
Mutual labels:  dotnet-core, ddd, domain-driven-design, ddd-architecture
ddd-referenz
Deutsche รœbersetzung der DDD Referenz von Eric Evans
Stars: โœญ 58 (-36.26%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Migration
ใ€Š็ณป็ปŸ้‡ๆž„ไธŽ่ฟ็งปๆŒ‡ๅ—ใ€‹ๆ‰‹ๆŠŠๆ‰‹ๆ•™ไฝ ๅˆ†ๆžใ€่ฏ„ไผฐ็Žฐๆœ‰็ณป็ปŸใ€ๅˆถๅฎš้‡ๆž„็ญ–็•ฅใ€ๆŽข็ดขๅฏ่กŒ้‡ๆž„ๆ–นๆกˆใ€ๆญๅปบๆต‹่ฏ•้˜ฒๆŠค็ฝ‘ใ€่ฟ›่กŒ็ณป็ปŸๆžถๆž„้‡ๆž„ใ€ๆœๅŠกๆžถๆž„้‡ๆž„ใ€ๆจกๅ—้‡ๆž„ใ€ไปฃ็ ้‡ๆž„ใ€ๆ•ฐๆฎๅบ“้‡ๆž„ใ€้‡ๆž„ๅŽ็š„ๆžถๆž„ๅฎˆๆŠค
Stars: โœญ 2,753 (+2925.27%)
Mutual labels:  agile, ddd, tdd
Aspnet Core Clean Arch
It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core.
Stars: โœญ 60 (-34.07%)
Mutual labels:  dotnet-core, ddd-architecture, tdd
Patterns
Complete catalog of all classical patterns in the Archimate language
Stars: โœญ 70 (-23.08%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
teamo-ddd-example
Implementing Domain Driven Design in PHP using Laravel
Stars: โœญ 46 (-49.45%)
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 (-25.27%)
Mutual labels:  ddd, domain-driven-design, tdd
List Of Testing Tools And Frameworks For .net
โœ… List of Automated Testing (TDD/BDD/ATDD/SBE) Tools and Frameworks for .NET
Stars: โœญ 303 (+232.97%)
Mutual labels:  tdd, coverage, test-driven-development
Study Path
An organized learning path about Clean Code, Test-Driven Development, Legacy Code, Refactoring, Domain-Driven Design and Microservice Architecture
Stars: โœญ 1,357 (+1391.21%)
Mutual labels:  agile, domain-driven-design, tdd
Netcorekit
๐Ÿ’— A crafted toolkit for building cloud-native apps on the .NET platform
Stars: โœญ 248 (+172.53%)
Mutual labels:  dotnet-core, ddd, ddd-architecture
typescript-ddd-example
๐Ÿ”ท๐ŸŽฏ TypeScript DDD Example: Complete project applying Hexagonal Architecture and Domain-Driven Design patterns
Stars: โœญ 607 (+567.03%)
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 (+221.98%)
Mutual labels:  dotnet-core, ddd, domain-driven-design
Domain Driven Design Zh
DDDใ€Š้ข†ๅŸŸ้ฉฑๅŠจ่ฎพ่ฎกใ€‹ไธญๆ–‡็ฟป่ฏ‘
Stars: โœญ 307 (+237.36%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
typescript-ddd-course
๐Ÿ”ท๐Ÿ”– TypeScript DDD Course: Learn Domain-Driven Design in TS lesson by lesson
Stars: โœญ 28 (-69.23%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: โœญ 6,210 (+6724.18%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture
Architecture
.NET 6, ASP.NET Core 6, Entity Framework Core 6, C# 10, Angular 13, Clean Code, SOLID, DDD.
Stars: โœญ 2,285 (+2410.99%)
Mutual labels:  dotnet-core, ddd, domain-driven-design
Jivejdon
Jivejdon is a Domain Driven Design appication with CQRS/ES/Clean/Hexagonal architecture
Stars: โœญ 287 (+215.38%)
Mutual labels:  ddd, domain-driven-design, ddd-architecture

.NET Standard project with DDD patterns covered with Unit Tests

Design the Virtual Wallet using Aggregate Roots, Entities and Value Objects and cover the uses cases with Unit Tests. At the Clean Architecture Manga you could learn the DDD patterns and TDD at TheThreeRulesOfTdd.

๐Ÿ’Ž Compiling from source

Clone this repository to your machine, compile and test it:

git clone https://github.com/ivanpaulovich/ddd-tdd-rich-domain.git
cd ddd-tdd-rich-domain
dotnet test

๐Ÿ‘ท Use cases

This project was designed do cover the following use cases and requirements:

  1. A Customer could register a new Checking Account using its personal details.
  2. Allow a customer to deposit funds into an existing account.
  3. Allow the customer to withdraw funds from an existing account.
  4. Allow the customer to close a Checking Account only if the balance is zero.
  5. Do not allow the Customer to Withdraw more than the existing funds.
  6. Allow to get the account details.
  7. Allow to get the customer details.

๐Ÿ“ The Domain Model

Domain Model

๐Ÿ’ป Tech stuff

  • .NET Core 3.1
  • xUnit

๐Ÿ‘ฝ Kata

Build a Rich Domain from tests using DDD Building Blocks like Aggregate Roots, Entities and Value Objects with the help of kata-initial folder files.

๐Ÿ‘ฝ The expected Model has

  • Customer and Checking Account Aggregate Roots.
  • Credit and Debit Entities.
  • Amount, Name and SSN Value Objects.

๐Ÿ‘ฝ Create a Test Class for the Register use case.

๐Ÿ‘ฝ Then begin with the domain implementation.

๐Ÿ‘ฝ Refactor the code.

๐Ÿ‘ฝ Add more tests and continue with the implementation.

๐Ÿ‘ฝ Refactor and Repeat.

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