Because they are hard and hard to modify, I didn't take many aspects into account:
- [G]UI and integration in general.
- Currency.
- Negative balance (unspecified behavior).
- Floating balance.
- Big numbers (unspecified behavior).
I like immutability because it makes things easier until you need to change the world.
- US 1: In order to save money As a bank client I want to make a deposit in my account.
- US 2: In order to retrieve some or all of my savings As a bank client I want to make a withdrawal from my account.
- US 3: In order to check my operations As a bank client I want to see the history (operation, date, amount, balance) of my operations.