Skip to content

Bank console application implemented using c++ and object-oriented programming paradigm connected and deals with files as a database.

License

Notifications You must be signed in to change notification settings

Momen-Alshouha/console-app-bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bank Console App (C++)

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.

Key Features

  • 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

Custom Libraries

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:

  1. clsDate: Handles date-related operations.
  2. clsPeriod: Manages time periods and durations.
  3. clsInputValidation: Validates user inputs and ensures data integrity.
  4. clsString: Manipulates strings and formats data.
  5. clsUtil: Contains miscellaneous functions used across the application.

Admin Access

The application includes an admin user with default credentials for testing purposes:

  • Username: admin
  • Password: admin

Screenshots

Here are some screenshots from the application:

Login

Login

Invalid Login

Invalid Login

Login Logs

Login

Main Menu

Main Menu

Manage Users Menu

Manage Users Menu

List Users

List Users

List Clients

List Clients

Client Added Successfully

Client Added Successfully

Find Client

Client Added Successfully

Delete Client

Client Added Successfully

Access Denied

if_access_denied

Transactions Menu

transactions_screen

Transfer Logs Menu

transfer_logs_screen

Curriencies Main Menu

currency_main_screen

Currencies List

currencies_list_screen

Compile and Run the Code

Prerequisites

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)

Compilation

  1. Clone the Repository:

    git clone https://github.com/Momen-Alshouha/console-app-bank.git
    cd console-app-bank
  2. 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

Execution

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

Releases

No releases published

Packages

No packages published