Think of your personal bank account experience When in doubt, go for the simplest solution
- Account creation
- Deposit and Withdrawal
- Account statement (date, amount, balance)
- Statement printing
In order to have an account
As a bank client
I want to create an account
In order to save money
As a bank client
I want to make a deposit in my account
In order to retrieve some or all of my savings
As a bank client
I want to make a withdrawal from my account
In order to check my operations
As a bank client
I want to see the history (operation, date, amount, balance) of my operations
In order to been denied the retrieval of my money
As a bank client
I want to make a withdrawal from my account (withdrawal amount greater than my balance)
In order to complete this kata, I choose the following stack:
- Language:
C#
,Typescript
- Framework:
.Net Core
,Angular
- ORM:
Entity Framework Core
- Unit test framework:
XUnit
- Fonctional test framework:
SpecFlow
Basically, the program will an Angular application embedded in a .Net Core application:
- A .Net Core MVC application with Entity Framework Core's InMemory Provider to create a working "database" in memory
- An Angular application for the front-end Part (located under ClientApp folder)
Build the Project
donet build
Launch the program
donet run
http://localhost:5000/