Skip to content

Repository files navigation

Banking Management System

Project Overview

The Banking Management System is a core Java-based project designed to manage banking operations. It provides functionalities for creating savings accounts, depositing and withdrawing funds, viewing account balances, and displaying all accounts. The application follows Object-Oriented Programming principles to ensure scalability and maintainability.


Features

  • Create a savings account with account ID, holder name, balance, and interest rate.
  • Deposit funds into an account.
  • Withdraw funds with validation for insufficient balance.
  • Display the balance of a specific account.
  • View details of all created accounts.

Technology Stack

  • Programming Language: Java
  • IDE: Any Java-compatible IDE (Eclipse, IntelliJ IDEA, etc.)
  • Tools: Scanner for user input, Exception handling for error scenarios

Class Diagram

Diagram Explanation

  1. Bank:

    • Manages all accounts.
    • Has methods to create accounts, deposit, withdraw, and display accounts.
  2. Account:

    • Parent class for different account types.
    • Contains common attributes: account ID, holder name, balance.
    • Methods include deposit, withdraw, and display balance.
  3. SavingsAccount:

    • Inherits from Account.
    • Adds an attribute for interest rate.
  4. BankApplication:

    • Entry point of the application.
    • Handles user input and coordinates with Bank and Account classes.
  5. InsufficientFundsException:

    • Custom exception class.
    • Handles errors when attempting to withdraw more funds than available.

Diagram Representation

diagram (5)

Project Structure

BankingManagementSystem/
  |- src/
      |- Bank.java
      |- Account.java
      |- SavingsAccount.java
      |- InsufficientFundsException.java
      |- BankApplication.java
  |- README.md
  |- .gitignore

Setup Instructions

  1. Clone the repository from GitHub.
    git clone https://github.com/yourusername/BankingManagementSystem.git
  2. Open the project in your favorite Java IDE.
  3. Compile the project files:
    javac BankApplication.java
  4. Run the project:
    java BankApplication

Usage Guide

  • Creating an Account:

    • Select option 1 from the menu.
    • Enter the required details: account ID, name, balance, and interest rate.
  • Depositing Funds:

    • Select option 2.
    • Provide the account ID and deposit amount.
  • Withdrawing Funds:

    • Select option 3.
    • Provide the account ID and withdrawal amount. Insufficient balance will trigger an exception.
  • Displaying Account Balance:

    • Select option 5.
    • Provide the account ID to view its balance.
  • Viewing All Accounts:

    • Select option 4 to list all created accounts with their details.

Future Enhancements

  • Add support for current accounts.
  • Implement file-based persistence to save account data across sessions.
  • Add a graphical user interface (GUI) for enhanced usability.
  • Include transaction history for accounts.

Contributing

  1. Fork the repository.
  2. Create a new branch for your feature/bug fix.
  3. Commit your changes with a descriptive message.
  4. Push your branch and create a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages