{"id":23870105,"url":"https://github.com/engineermichael/automatic-teller-machine-simulation","last_synced_at":"2025-11-13T01:02:45.289Z","repository":{"id":260214018,"uuid":"79863864","full_name":"EngineerMichael/Automatic-Teller-Machine-Simulation","owner":"EngineerMichael","description":"⎔ Simulation with application on Android platform","archived":false,"fork":false,"pushed_at":"2024-12-23T03:24:22.000Z","size":183,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-03T13:52:33.837Z","etag":null,"topics":["andriod-app","atm-simulation","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EngineerMichael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-24T00:34:32.000Z","updated_at":"2024-12-23T03:24:25.000Z","dependencies_parsed_at":"2025-01-03T23:15:26.916Z","dependency_job_id":null,"html_url":"https://github.com/EngineerMichael/Automatic-Teller-Machine-Simulation","commit_stats":null,"previous_names":["engineermichael/automatic-teller-machine-simulation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EngineerMichael%2FAutomatic-Teller-Machine-Simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EngineerMichael%2FAutomatic-Teller-Machine-Simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EngineerMichael%2FAutomatic-Teller-Machine-Simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EngineerMichael%2FAutomatic-Teller-Machine-Simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EngineerMichael","download_url":"https://codeload.github.com/EngineerMichael/Automatic-Teller-Machine-Simulation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240217345,"owners_count":19766750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["andriod-app","atm-simulation","java"],"created_at":"2025-01-03T13:52:17.298Z","updated_at":"2025-11-13T01:02:40.257Z","avatar_url":"https://github.com/EngineerMichael.png","language":"Java","readme":"ATM Simulation App in Java - README\n\n\n\nOverview\n\n\n\nThe ATM Simulation App is a simple Java-based application that simulates the basic functionality of an Automatic Teller Machine (ATM). This app allows users to perform common ATM operations such as checking balances, withdrawing money, depositing funds, and changing PIN codes. The application also includes a basic menu-driven interface and provides simple validation for transactions.\n\n\n\nFeatures\n\n• Login System: Users can log in with an account number and PIN.\n\n• Balance Inquiry: Users can check their account balance.\n\n• Withdraw Money: Users can withdraw money from their account, with validation for available balance and withdrawal limits.\n\n• Deposit Money: Users can deposit money into their account.\n\n• Change PIN: Users can change their PIN for added security.\n\n• Transaction History: Users can view their recent transactions.\n\n\n\nPrerequisites\n\n• Java: Ensure that Java is installed on your system. The application requires JDK 8 or higher.\n\n• To check Java installation, run the command: java -version\n\n• IDE: Use any Java-compatible Integrated Development Environment (IDE) such as IntelliJ IDEA, Eclipse, or NetBeans for development and running the application.\n\n\n\nInstallation Instructions\n\n1. Clone the Repository (if applicable):\n\n\n\ngit clone \u003crepository-url\u003e\n\n\n\n\n\n2. Download the Application Files:\n\nAlternatively, you can download the source code as a ZIP file and extract it to your desired directory.\n\n3. Compile and Run:\n\nIf you’re using an IDE:\n\n• Import the project into your IDE.\n\n• Build and run the project using the IDE’s run configurations.\n\nIf you’re using the command line:\n\n• Navigate to the project directory.\n\n• Compile the Java files:\n\n\n\njavac ATMApp.java\n\n\n\n\n\n• Run the compiled class:\n\n\n\njava ATMApp\n\n\n\n\n\n\n\nUsage\n\n\n\nOnce the application is running, follow the on-screen prompts to perform ATM operations. Here’s a typical flow:\n\n1. Login: Enter your account number and PIN.\n\n2. Main Menu: After login, choose an option from the following:\n\n• Check Balance\n\n• Withdraw Money\n\n• Deposit Money\n\n• Change PIN\n\n• Exit\n\n3. Transaction: Follow the prompts for each operation. For example, for withdrawing money, enter the amount you want to withdraw and confirm.\n\n\n\nExample Usage:\n\n\n\nWelcome to the ATM!\n\nPlease enter your account number: 123456\n\nEnter your PIN: 1234\n\n\n\nMain Menu:\n\n1. Check Balance\n\n2. Withdraw Money\n\n3. Deposit Money\n\n4. Change PIN\n\n5. Exit\n\n\n\nPlease choose an option (1-5): 1\n\nYour current balance is: $1000.00\n\n\n\nPlease choose an option (1-5): 2\n\nEnter withdrawal amount: 200\n\nTransaction successful! New balance: $800.00\n\n\n\nFile Structure\n\n\n\n/ATM-Simulation-App\n\n    ├── src\n\n    │   ├── ATMApp.java      # Main class to run the ATM simulation\n\n    │   ├── ATM.java         # Class for ATM operations (balance, withdraw, deposit)\n\n    │   ├── Account.java     # Class for user account data (account number, PIN, balance)\n\n    │   └── Transaction.java # Class for handling transaction history\n\n    ├── resources            # (Optional) Any resources such as images, config files\n\n    └── README.md            # This file\n\n\n\nClass Description\n\n• ATMApp.java: This is the main class that handles the user interface and overall flow of the ATM simulation.\n\n• ATM.java: Contains methods for the various ATM operations such as checking balance, withdrawing, and depositing money.\n\n• Account.java: Represents the user account, stores account number, PIN, and balance information.\n\n• Transaction.java: Logs the transaction history (optional feature).\n\n\n\nExample Code Snippet (ATM.java)\n\n\n\npublic class ATM {\n\n    private double balance;\n\n\n\n    public ATM(double initialBalance) {\n\n        this.balance = initialBalance;\n\n    }\n\n\n\n    public double getBalance() {\n\n        return balance;\n\n    }\n\n\n\n    public boolean withdraw(double amount) {\n\n        if (amount \u003c= balance) {\n\n            balance -= amount;\n\n            return true;\n\n        } else {\n\n            return false;\n\n        }\n\n    }\n\n\n\n    public void deposit(double amount) {\n\n        balance += amount;\n\n    }\n\n}\n\n\n\nNotes\n\n• The ATM simulation does not involve actual banking services or a backend database.\n\n• The account and transaction data are stored in memory and are not persistent. If the application is restarted, the data will be lost.\n\n• You can extend this application by adding features like user authentication, database integration, or advanced transaction logging.\n\n\n\nContributing\n\n\n\nIf you’d like to contribute to this project, feel free to fork the repository, make your changes, and submit a pull request. Please ensure that your code adheres to the existing coding style.\n\n\n\nLicense\n\n\n\nThis project is open-source and available under the GNU General Public License v3.0 .\n\n\n\nThis “ReadMe” provides users with a comprehensive guide to understand the ATM Simulation App, how to install it, and how to use it. It can be expanded with further details depending on the complexity of the application or additional features.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineermichael%2Fautomatic-teller-machine-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fengineermichael%2Fautomatic-teller-machine-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineermichael%2Fautomatic-teller-machine-simulation/lists"}