Skip to content

25017438d/ATMcasestudy_with_GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATM Case Study

This project is a simulation of an Automated Teller Machine (ATM) system, implementing both console-based and graphical user interface (GUI) versions. It demonstrates object-oriented programming principles in Java, including inheritance, polymorphism, and encapsulation.

Features

  • User Authentication: Secure login using account number and PIN
  • Balance Inquiry: View available and total account balance
  • Cash Withdrawal: Withdraw cash with predefined amounts or custom amounts
  • Fund Transfer: Transfer money between accounts
  • Cheque Transaction: Save cheque transactions
  • GUI Interface: Modern Swing-based graphical interface
  • Console Interface: Text-based interface for command-line usage

Project Structure

The project consists of the following main classes:

  • ATM.java - Main ATM logic and transaction coordination
  • ATMCaseStudy.java - Console version entry point
  • ATMViewGUI.java - GUI version with Swing interface
  • BankDatabase.java - Manages account information and authentication
  • Account.java - Represents individual bank accounts
  • Transaction.java - Abstract base class for all transactions
  • BalanceInquiry.java - Handles balance inquiry transactions
  • Withdrawal.java - Handles cash withdrawal transactions
  • Transfer.java - Handles fund transfer transactions
  • ChequeTransaction.java - Handles cheque transactions
  • Screen.java - Manages display output
  • Keypad.java - Handles user input
  • CashDispenser.java - Simulates cash dispensing
  • Saving.java - Related to savings accounts
  • Cheque.java - Represents cheque objects

Prerequisites

  • Java Development Kit (JDK) 8 or higher
  • Java Runtime Environment (JRE) for running the application

How to Run

Compilation

Compile all Java files:

javac *.java

Running the Console Version

Execute the console-based ATM:

java ATMCaseStudy

Running the GUI Version

Execute the graphical ATM interface:

java ATMViewGUI

Sample Accounts

The system comes pre-loaded with 10 sample accounts. Here are a few examples:

Account Number PIN Available Balance Total Balance
11111 11111 $1,000.35 $1,000.35
22222 22222 $25,234.50 $25,234.50
33333 33333 $150,000.90 $150,000.90
12345 54321 $1,000.00 $1,000.00

Note: For demonstration purposes, each account uses its account number as the PIN.

Usage

Console Version

  1. Run the application
  2. Enter your account number when prompted
  3. Enter your PIN
  4. Choose from the main menu options:
    • View balance
    • Withdraw cash
    • Transfer funds
    • Save cheque
    • Exit

GUI Version

  1. Run the GUI application
  2. Use the on-screen keypad to enter account number and PIN
  3. Navigate through the interface using buttons and keypad
  4. Perform transactions using the graphical menus

Architecture

The system follows a modular design with:

  • Model: Account, BankDatabase - Data management
  • View: Screen, ATMViewGUI - User interface
  • Controller: ATM, Transaction subclasses - Business logic
  • Input/Output: Keypad, CashDispenser - Hardware simulation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages