Oasis Infobyte Internship - Task 1 :-
Overview: Developed a Java-based ATM interface that provides users with a seamless and secure banking experience. The interface mimics the functionality of a real ATM, allowing users to perform various banking transactions, such as cash withdrawals, balance inquiries, fund transfers, and account management.
Role and Responsibilities: As the lead developer, I designed and implemented the ATM interface using Java and JavaFX. I integrated the interface with backend banking systems, implemented transaction processing logic, and ensured the security of user information.
Technologies and Tools: Java, JavaFX (for graphical user interface), JDBC (for database connectivity), MySQL (as the database management system)
Features:
User Authentication: Implemented a secure login system that requires users to enter their unique identification number (e.g., account number) and a confidential PIN. Validated user credentials and granted access to authorized users only.
Cash Withdrawals: Provided functionality for users to withdraw cash from their linked accounts. Implemented logic to validate available balance, dispense the requested amount, and update the account balance accordingly.
Balance Inquiries: Enabled users to check their account balances in real-time. Integrated with the backend systems to fetch and display accurate account balance information to users.
Fund Transfers: Implemented a secure and efficient fund transfer feature that allows users to transfer funds between their own accounts or to other registered accounts. Verified the availability of funds, processed the transfer, and updated the account balances of both sender and recipient.
Account Management: Offered account management functionalities such as updating personal information, changing PINs, and requesting new ATM cards. Implemented appropriate validation checks and ensured the secure processing of these requests.
Transaction History: Provided users with access to their transaction history, allowing them to view past transactions and generate account statements for specific periods. Implemented search and filtering functionalities to facilitate easy navigation through transaction records.
Results and Impact: The ATM Interface in Java provides users with a secure and convenient platform for conducting various banking transactions. It offers a user-friendly interface that closely resembles a real ATM, ensuring a familiar experience for users. The interface enhances the efficiency of banking operations and empowers users to manage their finances conveniently.