This repository contains a console-based banking application written in C++, emphasizing Object-Oriented Programming (OOP) principles. The application manages client and user data through file handling for CRUD (Create, Read, Update, Delete) operations for both clients and users, integrating simple permission-based functionalities, including a login system for users.
-
Client Operations:
- Create, Read, Update, Delete client data
- Manage client accounts and transactions
-
User Operations:
- Create, Read, Update, Delete user data
- Permission-based operations
- User login and authentication
- Logging of user login activity
- Encrypt password in files
-
Additional Features:
-
Transfer Feature:
- If has permission, Users can transfer funds between clients
-
Login Logs:
- Records login activities for users
- Tracks login timestamps and user sessions
-
Transfer Logs:
- Maintains a log of all fund transfer activities
- Contains details such as transfer amount, sender, receiver, and timestamps
-
Currency Operations:
- List Currencies:
- Provides a list of supported currencies for reference
- Find Currency:
- Allows users to search for specific currency information
- Update Rate:
- Updates currency exchange rates from a reliable source
- Currency Converter:
- Enables users to convert between different currencies based on the updated exchange rates
- List Currencies:
-
This repository includes five custom-built libraries implemented to enhance the functionalities of the banking application, designed to be versatile and usable in other C++ applications too:
- clsDate: Handles date-related operations.
- clsPeriod: Manages time periods and durations.
- clsInputValidation: Validates user inputs and ensures data integrity.
- clsString: Manipulates strings and formats data.
- clsUtil: Contains miscellaneous functions used across the application.
The application includes an admin user with default credentials for testing purposes:
- Username: admin
- Password: admin
Here are some screenshots from the application:
Ensure you have the following installed on your system:
- C++ compiler (e.g., GCC for Unix-like systems, MinGW for Windows, or Visual Studio Community for Windows)
- Git (for cloning the repository)
-
Clone the Repository:
git clone https://github.com/Momen-Alshouha/console-app-bank.git cd console-app-bank
-
Compile the Code:
-
For Visual Studio :
Open the project in Visual Studio and compile using the IDE.
-
For Unix-like systems (using GCC):
g++ -o console-app-bank console-app-bank.cpp
-
For Windows (using MinGW):
g++ -o console-app-bank.exe console-app-bank.cpp
-
Run the Executable:
-
For Visual Studio:
Run the compiled application from within the Visual Studio Community IDE.
-
For Unix-like systems (using GCC):
./console-app-bank
-
For Windows:
console-app-bank.exe