This project is a console-based Bank Application simulation developed in Python. It demonstrates fundamental programming concepts, including API integration, data persistence using JSON, user authentication, and core transactional logic such as Deposit, Withdrawal, and Balance Inquiry.
User Generation: Automatically populates a database with 10 unique user accounts with username and password by fetching data from the external randomuser.me/api/.
Data Persistence: Uses the built-in json library to store and retrieve all user account information contains username, password, and current Balance in a local file named dump.json.
User Authentication: Implements a robust login mechanism with a search function to validate the entered username and a password check with a limited number of retries.
Transactional Logic: Supports four main menu options for logged-in users:
Deposit: Adds a specified amount to the user's current balance.
Withdrawal: Deducts a specified amount from the user's current balance (basic subtraction implemented).
Check Balance: Displays the user's available balance.
Exit: Terminates the session.
Dependencies: Primarily uses the standard Python libraries: requests for API calls, and json for file I/O.
Language: Python
Libraries: requests, json
API: https://randomuser.me/api/
Data Storage: Used dump.json in JSON file to Update the Data.