User Guide
Installation
This project requires Python 3.8+ and has no external dependencies.
- Clone the repository and change into the project directory.
- (Optional) Create a virtual environment.
- install the program
add the flag -e
for interactive development mode
pip install .
- Run the interactive program:
gicbank
Usage
When launched the program displays a menu:
Welcome to AwesomeGIC Bank! What would you like to do?
[T] Input transactions
[I] Define interest rules
[P] Print statement
[Q] Quit
>
T: Input transactions
Enter a line with Date Account Type Amount
.
Example:
20230626 AC001 W 100.00
Enter
on an empty line to return to the main menu.
I: Define interest rules
Enter Date RuleId Rate
.
Example:
20230615 RULE03 2.20
P: Print statement
Enter Account YearMonth
to generate a monthly statement including interest.
Statements can only be generated up to December 2099 (209912
).
Example:
AC001 202306
| Date | Txn Id | Type | Amount | Balance |
| 20230601 | | BAL | 0.00 | 0.00 |
| 20230601 | 20230601-01 | D | 50.00 | 50.00 |
| 20230630 | | I | 0.00 | 50.00 |
Interest is automatically accrued at the end of each month and carried forward to future statements.
Q: Quit
Enter Q
from the main menu.
Common errors
- Invalid date format – Dates must be in
YYYYMMDD
orYYYYMM
format. - Insufficient balance – Withdrawals cannot result in a negative balance.
- Invalid interest rate – Rates must be between 0 and 100.