An open API service indexing awesome lists of open source software.

https://github.com/saeed-dev2/atm-banking-app-python

A modern, secure, and user-friendly ATM simulation system built with Python and Tkinter. Features include balance inquiry, deposits, withdrawals, PIN management, and transaction history loggingโ€”designed for academic use, prototyping, and GUI-based financial system demonstrations.
https://github.com/saeed-dev2/atm-banking-app-python

atm-system banking-application money-management-system personal-finance-software python-3 python-gui-application secure-login-system tkinter-gui transaction-history

Last synced: 8 months ago
JSON representation

A modern, secure, and user-friendly ATM simulation system built with Python and Tkinter. Features include balance inquiry, deposits, withdrawals, PIN management, and transaction history loggingโ€”designed for academic use, prototyping, and GUI-based financial system demonstrations.

Awesome Lists containing this project

README

          

# ๐Ÿ’ณ SKF ATM System

A secure and user-friendly desktop ATM simulation built with Python and Tkinter. This application allows users to log in, manage their balance, withdraw and deposit funds, view transaction history, and securely change their PIN.

## ๐Ÿงฐ Features

- ๐Ÿ›ก Secure login system using PIN authentication
- ๐Ÿ’ฐ Balance inquiry
- ๐Ÿ’ต Withdrawals (up to Rs. 25,000 in multiples of Rs. 5.00)
- ๐Ÿ’ธ Deposits (up to Rs. 90,000 in multiples of Rs. 5.00)
- ๐Ÿงพ Transaction logging
- ๐Ÿ” PIN change functionality
- ๐Ÿ“œ Transaction history viewer
- ๐Ÿ’ก User-friendly GUI with a modern design and color scheme

## ๐Ÿ–ผ GUI Preview

> This app uses **Tkinter's themed widgets (`ttk`)** for a professional GUI appearance with color styling and layouts for different operations.

## ๐Ÿ“‚ Directory Structure

```
.
โ”œโ”€โ”€ users/ # Stores user data (PIN and balance)
โ”œโ”€โ”€ transactions/ # Stores user transaction logs
โ”œโ”€โ”€ icon.png # Optional application icon
โ”œโ”€โ”€ atm_app.py # Main application script
โ””โ”€โ”€ README.md # Project documentation
```

## ๐Ÿ Getting Started

### โœ… Prerequisites

- Python 3.7+
- `tkinter` module (comes pre-installed with standard Python distributions)

### ๐Ÿ“ฆ Installation

1. Clone or download this repository:
```bash
git clone https://github.com/yourusername/skf-atm-system.git
cd skf-atm-system
```

2. Run the application:
```bash
python atm_app.py
```

3. If `icon.png` is missing, the app will still run without it.

## ๐Ÿ‘ฅ Default User Info

- Default PIN: `5678`
- Default Balance: `Rs. 250,000`

On first login with any new Account ID, this default information is used.

## ๐Ÿ“ Notes

- PINs are hashed using SHA-256 for demonstration purposes.
- Data is stored as plain `.txt` files under `users/` and `transactions/`.

## โš  Limitations

- This application is designed for **demonstration and academic purposes**.
- Not intended for real banking environments.
- No real encryption or database is used beyond SHA-256 hashing.

## ๐Ÿ“œ License

MIT License ยฉ 2025 SKF Bank Simulation

## ๐Ÿค Acknowledgements

- Inspired by modern ATM interfaces.
- Developed using Python and the `tkinter` GUI toolkit.

---

> ## ๐Ÿ‘จโ€๐Ÿ’ป Author

**Muhammad Saeed**
AI & Data Science Enthusiast (Python)