Skip to content

Proof of Concept with my understanding of DDD, CQRS and Event Sourcing

License

Notifications You must be signed in to change notification settings

JurgenStillaert/GroupBudget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure DevOps builds Azure DevOps tests

GroupBudget

This project will be my reference project with implementations of DDD, Clean Architecture (Hexagonal Architecture / ports and adapters), CQRS, Event Sourcing and many other things I believe are best practices concerning software development.

I will use the Microsoft stack (.NET, C#, Azure) and Angular 2+.

This project will be build gradually, and maintained progressively when I gain new insights.

Business problem

My partner and I do not have a common bank account when we spent money on groceries and other costs related to living together. At the end of the month we calculate everything we've paid with our personal accounts, and determine who has to pay what amount to the other person.

But in reality, at the end of the month we're looking at our bank accounts, try to figure out what we've paid for what reason, write it down and calculate the sums manually. It takes quite a lot of time and it's an administrative task we could easily automate.

Functional analysis

We could do an event storming session on this domain, but as it is fairly easy business problem, we'll take a top down approach, starting from wireframes.

Login

Login page

Register user

Register user

Forgot password

Pasword forgotten New password

Month overview

In the month overview (or cycle overview - as you can change the duration of a cycle in the settings), you can view, add, edit and delete the bookings you've made for that period. You can also switch to another month. You can close the month.

Cycle overview

Closed month

You can review a closed month. If the other person(s) in your group also closed their month, a message of how much you have to pay to the other person or how much you have to receive is displayed.

cycle_closed.png

Settings

settings.png

Tool used to create wireframes

I've used this great tool to make wireframes: https://pencil.evolus.vn/

About

Proof of Concept with my understanding of DDD, CQRS and Event Sourcing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published