A simple command-line based Bank Management System developed in Python. This project was created as a Class 12 Computer Science project to demonstrate the concepts of file handling, data storage, user authentication, and banking operations.
The Bank Management System allows users to create bank accounts, securely log in, perform transactions, view account details, and manage loan information. Data is stored locally using Python's file handling and pickle module.
This project helped in understanding:
- Python Programming Fundamentals
- Functions and Modular Programming
- File Handling
- Data Persistence using Pickle
- User Authentication
- Input Validation
- Banking Transaction Logic
- Create a new bank account
- Store customer details
- Unique account number validation
- Aadhaar number validation
- Mobile number validation
- User login system
- Password verification
- Change password functionality
- Deposit money
- Withdraw money
- Balance tracking
- Transaction history
- Apply for loans
- View current loan status
- View account details
- Update mobile number
- Update address
- View account opening date
- Python 3
- Pickle Module
- File Handling
- Dictionaries
- Modular Programming
Bank-Management-System/
│
├── main table.py # Entry point of application
├── table.py # Main menu
├── login.py # Login and banking operations
├── creatingaccount.py # Account creation module
├── DATAFILE.dat # Stores validation data
└── README.md
git clone https://github.com/your-username/Bank-Management-System.git
cd Bank-Management-Systempython "main table.py"- Create a new customer account
- Store customer details permanently
- Username verification
- Password authentication
- Deposit funds
- Withdraw funds
- Track transaction history
- View customer details
- Update information
- Change password
- Request loans
- Track loan balance
Through this project, I learned:
- Python file handling
- Data serialization using Pickle
- Input validation techniques
- Modular programming
- Menu-driven applications
- User authentication systems
- Banking transaction logic
This project was developed as a learning project and has some limitations:
- Passwords are stored in plain text.
- Uses Pickle instead of a database.
- No graphical user interface (GUI).
- Single-user local storage.
- No encryption or advanced security mechanisms.
Future improvements could include:
- SQLite/MySQL integration
- Password hashing
- GUI using Tkinter
- Web-based version using Flask/Django
- Improved error handling
- Database Integration (SQLite/MySQL)
- Secure Password Hashing
- Graphical User Interface
- Online Banking Features
- Account Transfer Facility
- Admin Dashboard
- Transaction Receipts
Shubham Kumar
B.Tech (Electronics and Communication Engineering)
Birla Institute of Technology, Mesra
GitHub: https://github.com/your-username
This project was originally developed as a Class 12 Computer Science project and is uploaded to GitHub as part of my programming journey and learning experience.