The Bank ATM Simulator is a comprehensive Java application that replicates all functionalities of a real ATM machine. Built using Java Core and MySQL for database management, this desktop application features a complete user interface with secure authentication, transaction processing, and account management capabilities.
Java SE 8, Java Swing, JDBC
MySQL Workbench 8.0
MVC Architecture, DAO Pattern
Implementing a multi-page form flow while maintaining user data required careful state management. Solved using a session object that persists through the account creation process.
Storing sensitive financial information securely was achieved through password hashing (SHA-256) and parameterized queries to prevent SQL injection.
Creating an intuitive ATM-like interface was accomplished by studying real ATM workflows and implementing key UI patterns like consistent navigation and clear transaction feedback.
Login interface with secure PIN entry
Account creation form
Main transaction selection menu