ATM Banking System
Software Engineering

ATM Banking System

JavaFile I/OAuthentication

About this project

A comprehensive banking ATM simulation that models real-world banking operations. Users can register as members, receive virtual card numbers, and perform a full range of financial transactions through an intuitive command-line interface.

The system implements secure authentication using card number and PIN combinations. All member data including balances, transaction history, and account details are persisted using file-based storage, allowing data to survive between sessions.

Key operations include checking balances, depositing and withdrawing funds, transferring money between accounts, changing PINs, and cancelling cards. The system includes input validation and error handling to prevent invalid operations.

Key Features

  • Member registration with card number generation
  • PIN-based authentication system
  • Deposit, withdrawal, and balance enquiry
  • Account-to-account fund transfers
  • PIN change and card cancellation
  • File-based data persistence
  • Input validation and error handling

Tech Stack

JavaFile I/OOOP