• Stars
    star
    145
  • Rank 254,144 (Top 6 %)
  • Language
    C#
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DDD patterns implemented following TDD

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

More Repositories

1

clean-architecture-manga

🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
C#
3,951
star
2

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.
C#
459
star
3

dotnet-new-caju

Learn Clean Architecture with .NET Core 3.0 🔥
C#
250
star
4

FluentMediator

🔀 FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events.
C#
192
star
5

event-sourcing-jambo

An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
C#
189
star
6

clean-architecture-webapi-ef-core

❤️ The simplest Clean Architecture demo on how to implement a Web Api using .NET Core and Entity Framework
C#
134
star
7

todo

✅ Commad-Line Task management with storage on your GitHub 🔥
C#
123
star
8

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.
C#
82
star
9

clean-architecture-video-tutorials

Live Streaming and Video Tutorials on Clean Architecture, DDD, TDD using .NET Core every week on Paulovich.NET Youtube channel.
C#
51
star
10

webapi-backgroundworker-rabbitmq

Sample implementation of a WebApi that publishes messages to RabbitMQ and consume them using a BackgroundWorker.
C#
25
star
11

clean-architecture-kata-dojo

⭐ Kata to learn Clean Architecture and Hexagonal Architecture styles, you start with two use cases already implemented and the final solution has six use cases. ⭐
C#
23
star
12

TechTalks

Download the high-resolution slides from my past talks to easy your learning into Clean Architecture.
23
star
13

amora-angular-app

An Angular App with Material Design and client of the Microservices Acerola and Manga
TypeScript
16
star
14

CleanArchitectureVSCodeSnippets

Clean Architecture C# Snippets for Visual Studio Code
TypeScript
10
star
15

mfa

DDD + Aggregates + Event Sourcing com .NET Core, Kafka e MongoDB (School Management)
C#
9
star
16

IdentityServer4Sample

C#
7
star
17

betsson-meetup-ddd-tdd

Building Rich Domain Models with DDD and TDD - Presentation
C#
7
star
18

MrRobot

A programmatically Cleaning Robot that informs the number of places cleaned after each execution.
C#
5
star
19

ivanpaulovich

Tech Lead, Software Engineer, 20+ GitHub projects about Clean Architecture, SOLID, DDD and TDD. Speaker/Streamer. Microsoft rMVP.
4
star
20

software-craftsmanship-study-plan

3
star
21

goat-ecs

Goat-ECS is an Entity-Component System with a friendly API to build objects with dynamic components.
C++
3
star
22

dotfiles

Shell
3
star
23

dotnet-new-on-the-web

Run dotnet new command on demand in an Web App
C#
2
star
24

tdd-practices

Practicing TDD
C#
1
star
25

openhackC4H

Classify Jobs description accordingly to a Natural Language then translate the results into Emoji!
C#
1
star
26

lapland

C#
1
star