One of the largest and leading Retail Bank within the US, serving millions of customers across the country offering a range of financial products from Credit Cards, Savings & Checking accounts, Auto loans, small business & commercial accounts. The retail bank has historically been served by a large monolith system. This system has Customer information, Transaction information, Account information – Pretty much a ledger generating taxes & statements. The bank is looking for a solution that will provide resilience & scalability for future growth. Following are the required features: • Highly available • Highly scalable • Highly Performant • Easily built and maintained • Developed and deployed quickly
How to run the project in local? Please follow the below steps-
- Open a microservice like "UserMicroService".
- change the connection string in appsettings.json with you localhost sql server name.
- Repeat the above 2 steps for all microservice.
- In the Pacakage manager console Select UserMicroservice from default project dropdown.
- write the command Update-Database & Hit Enter.
- Repeat 4 & 5 steps for Account & Transaction Microservice.
- Open Sql Server management studio and insert a admin credentials in the UserCreds table.
- Run the project.
- Login with Admin Username & Password.
- Create a account by clicking the Create account button.
- You will get the Username, Password & CustomerId for the customer. Kept it in Notepad.
- Perform some transactions.
- Go back to the login page.
- Login with Username, Password & CustomerId by selecting customer from the dropdown.
- Perform the Customer related activity.
This project contains email & sms functionality by default. If you don't want this functionality comment the appropiate code in Retail_Bank_UI -> TransactionController -> Deposit, Withdraw, Transfer Method which is self explanatory. Without commenting this code you may got exception while performing Deposit, Withdraw, Transfer functionality.