Project for 533
Alan Zhang && Yuyang Peng
The AZYY Bank Management System is a Python package designed to simulate a simple banking system with user and admin functionalities. It includes features such as user registration, client and admin management, investment handling, and more.
The AZYY Bank Management System is built with several functions to manage user and admin interactions, as well as investment handling. Here, we provide details about key functions in the system.
Go to test.ipynb which is isolated from the requierd package "bank_management". Then run this file.
from bank_management import start
This block is used to import functional py file from the required package
start.main()
Then this block is used to start our program.
We are using GitHub Action to help us test our package functions. The CI configuration file is stored in .github/workflow/, and the screenshot of 75% coverage is attatched.
Before run the test file in subpackage investment, go to the 7th line manage_investment.py and delete a dot into this "from investment import investment,mortgage,zero_coupon_bond,government_bond" But when running test.ipynb or start.py, add the dot back.
-
Description: Initializes client objects with sample data.
-
Returns: A dictionary containing client objects.
-
Description: Initializes admin objects with sample data.
-
Returns: A dictionary containing admin objects.
-
Description: Initializes an empty dictionary for investment objects.
-
Returns: An empty dictionary for investment objects.
-
Description: Initializes dictionaries with sample data for different types of investments (mortgage, zero coupon bond, government bond).
-
Returns: Dictionaries containing investment objects.
- Description: The main function that runs the AZYY Bank Management System. It prompts the user to choose a role (new user, existing client, admin, quit) and handles the corresponding actions.
- Description: A test function (currently commented out) that demonstrates the usage of the
admin_login()
function.
To use the functions in this system, follow these steps:
-
Initialize Clients, Admins, and Investments:
- Call
clients_initialization()
to initialize client data. - Call
admins_initialization()
to initialize admin data. - Call
investment_initialization()
to initialize an empty investment dictionary. - Call
mortgage_initialization()
,zcb_initialization()
, andgov_initialization()
to initialize investment dictionaries.
- Call
-
Run the Main Function:
- Call
main()
to start the AZYY Bank Management System. - Choose your role (new user, existing client, admin, quit) and follow the on-screen instructions.
- Call
-
Manage Personal Investments:
- If the user chooses the "Existing client" role, they can manage personal investments using the
personal_invest(c_new)
function.
- If the user chooses the "Existing client" role, they can manage personal investments using the
-
View All Investments:
- Call
show_all_investment(mortgage_dict, zcb_dict, gov_dict)
to display details of all available investments.
- Call
-
Testing:
- Call
test()
to run a test function (currently commented out).
- Call
Sample data for clients, admins, and investments is pre-initialized in the code.
This project is licensed under the MIT License.