The ATM Management System is a console-based application designed to simulate the operations of an Automated Teller Machine (ATM).
This project is implemented using Python for the application logic and MySQL for data storage.
Check the blog post here - Dev - From 12th Final Project to an ATM Management System: Leveraging ChatGPT 4 for PDF Analysis
ChatGPT 4 Pompt Chat here - Prompt Chat
- New Account Creation: Allows users to create a new account by providing a name and PIN.
- Account Inquiry: Enables users to check their account details including balance.
- Deposit: Supports depositing money into an account.
- Withdraw: Allows withdrawing money from an account, given sufficient funds.
- Account Search: Provides the ability to search for an account by name.
- Display All Accounts: Lists all the accounts stored in the system.
- Python 3.x
- MySQL Server
mysql-connector-python
package
-
Clone the repository
git clone https://github.com/Vikranth3140/ATM-Management-System.git cd ATM-Management-System
-
Set up the MySQL Database
- Log in to your MySQL server and create a new database named
atm_system
. - Execute the SQL script provided in
setup.sql
to create the necessary tables.
- Log in to your MySQL server and create a new database named
-
Configure Database Connection
- Navigate to
db/database.py
and update the connection details:
connection = mysql.connector.connect( host="localhost", user="your_username", password="your_password", database="atm_system" )
- Navigate to
-
Install Dependencies
pip install requirements.txt
Run the main.py
script from the root directory of the project:
```bash
python main.py
```
Follow the on-screen prompts to interact with the system.
ATMManagementSystem/
│
├── db/
│ └── database.py # Database connection and operations
│
├── models/
│ └── account.py # Account model class
│
├── services/
│ └── account_service.py # Business logic for account operations
│
└── main.py # Main application entry point (CLI interface)
Contributions to the ATM Management System are welcome. Please feel free to fork the repository, make changes, and submit pull requests. You can also open issues for bugs and feature requests.
This project is licensed under the MIT License.