**Develop a service that simulates basic banking operations in a programming language of your choice. This service will manage accounts, process deposits, withdrawals, and transfers between accounts.**
### The system should be designed reflecting real-world constraints of a bank.
## Requirements:
1. A class or set of functions that allow:
○ Account creation: Allow users to create an account with an initial deposit.
○ Deposit: Enable users to deposit money into their account.
○ Withdrawal: Allow users to withdraw money from their account, ensuring that overdrafts are not allowed.
○ Transfer: Enable transferring funds between accounts.
○ Account balance: Provide the ability to check the account balance.
2. Database:
○ In-memory data storage will suffice, no need to have a database alongside the project, but you can add one at your discretion
The word “service” here is used in a “software component/module” rather “deployable unit with an API” sense, no need to provide API for it.
Develop a service that simulates basic banking operations in a programming language of your choice. This service will manage accounts, process deposits, withdrawals, and transfers between accounts
bigint in cents (smallest currency unit)| Amount | Cents (bigint) |
|---|---|
| $1.00 | 100n |
| $10.00 | 1000n |
| $100.00 | 10000n |
| $1,000.00 | 100000n |