.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:
- A Customer could register a new Checking Account using its personal details.
- Allow a customer to deposit funds into an existing account.
- Allow the customer to withdraw funds from an existing account.
- Allow the customer to close a Checking Account only if the balance is zero.
- Do not allow the Customer to Withdraw more than the existing funds.
- Allow to get the account details.
- Allow to get the customer details.
📝 The 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.