How moazabdulsalam/oop-bank-project works
This is a console banking system: a user enters the application menu, selects client, transaction, user, log, or currency functions, and the corresponding screens operate on domain objects backed by text files. The documented product also includes login, permission checks, transfer and login auditing, and currency conversion. Sampled code confirms menu dispatch, client persistence and transfers, user persistence and audit records, and currency-rate operations; links for unsampled screen internals are omitted where their wiring cannot be verified.
Main entry points: clsMainScreen.h Main menu · clsBankClient.h Bank client model · clsUser.h User model · clsTransactionsScreen.h Transaction menu
Components 29
Console navigation
- Main menu
Bank OOP Project/clsMainScreen.h - Application entry
Bank OOP Project/Bank OOP Project.cpp - Login screen
Bank OOP Project/clsLogenScreen.h - Screen base
Bank OOP Project/clsScrean.h - Parsing and validation
Bank OOP Project/clsString.h
Clients and banking
- Client screens
Bank OOP Project/clsClientListScrean.h - Add client
Bank OOP Project/clsAddNewClientScreen.h - Update client
Bank OOP Project/clsUpdateClientScreen.h - Delete client
Bank OOP Project/clsDeleteClientScreen.h - Find client
Bank OOP Project/clsFindClientScreen.h - Transaction menu
Bank OOP Project/clsTransactionsScreen.h - Deposit screen
Bank OOP Project/clsDepositeScreen.h - Withdraw screen
Bank OOP Project/clsWithdrawScreen.h - Transfer screen
Bank OOP Project/clsTransferScreen.h - Bank client model
Bank OOP Project/clsBankClient.h - Client records
Bank OOP Project/Clients.txt
Users and audit
- User management
Bank OOP Project/clsManageusers.h - User model
Bank OOP Project/clsUser.h - User records
Bank OOP Project/Users.txt - Login audit
Bank OOP Project/LoginRegister.txt - Login register screen
Bank OOP Project/clsLoginRegisterScreen.h - Transfer log screen
Bank OOP Project/clsTransferLogScreen.h - Transfer records
Bank OOP Project/TransferLog.txt
Currency exchange
- Currency exchange
Bank OOP Project/clsShowCurrencyExchangeScreen.h - Currency calculator
Bank OOP Project/clsCurrencyCalculaterScreen.h - Currency screens
Bank OOP Project/clsCurrenciesListScreen.h - Currency model
Bank OOP Project/clsCurrency.h - Currency rates
Bank OOP Project/Currencies.txt
Other components
- Bank operator
Connections 41
- Bank operator → Application entry: starts
- Application entry → Login screen: launches
- Application entry → Main menu: opens
- Main menu → Client screens: dispatches
- Main menu → Add client: dispatches
- Main menu → Update client: dispatches
- Main menu → Delete client: dispatches
- Main menu → Find client: dispatches
- Main menu → Transaction menu: dispatches
- Main menu → User management: dispatches
- Main menu → Login register screen: dispatches
- Main menu → Currency exchange: dispatches
- Main menu → Login screen: authenticates
- Login screen → User model: checks credentials
- Client screens → Bank client model: lists clients
- Add client → Bank client model: saves client
- Update client → Bank client model: updates client
- Delete client → Bank client model: deletes client
- Find client → Bank client model: finds client
- Bank client model → Client records: reads and writes
- Transaction menu → Deposit screen: dispatches
- Transaction menu → Withdraw screen: dispatches
- Transaction menu → Transfer screen: dispatches
- Deposit screen → Bank client model: updates balance
- Withdraw screen → Bank client model: updates balance
- Transfer screen → Bank client model: transfers funds
- Bank client model → Transfer records: appends transfer
- User management → User model: manages users
- User model → User records: reads and writes
- User model → Login audit: reads audit
- Login register screen → User model: lists audit records
- Main menu → Transfer log screen: opens logs
- Transfer log screen → Bank client model: reads transfer records
- Currency exchange → Currency calculator: offers conversion
- Currency exchange → Currency screens: offers currency views
- Currency calculator → Currency model: converts amounts
- Currency screens → Currency model: lists and searches
- Currency model → Currency rates: reads and writes
- Bank client model → Parsing and validation: parses records
- User model → Parsing and validation: parses records
- Currency model → Parsing and validation: parses records