This project is a Bank Management System developed using Python and MySQL. It provides functionalities for employees and customers to perform various banking operations efficiently, with data stored and retrieved using a MySQL database.
- Login: Employees can log in to access the system.
- Create New Customer Accounts: Employees can add new customer accounts to the database.
- View Customer Transactions: Employees can retrieve and review transaction details for specific accounts.
- Transfer Money: Facilitate money transfers between customer accounts.
- Modify Customer Details: Employees can update customer information such as address and PIN.
- Exit System: Logout and exit the system.
- Allows the addition of new employees to the system by providing a unique employee ID and password.
- Login: Customers can log in to access their account functionalities.
- Create New Accounts: Customers can open additional accounts.
- View Transactions: Customers can check their transaction history.
- Transfer Money: Customers can transfer funds to other accounts.
- Withdraw Money: Customers can withdraw money from their accounts.
- Deposit Money: Customers can deposit money into their accounts.
- Change Account Details: Customers can update their address or PIN.
- Delete Account: Customers can permanently close their accounts.
- Exit System: Logout and exit the system.
- Facilitates adding new customers by collecting necessary details such as:
- Name
- Aadhaar Card Number
- Date of Birth
- Address
- Account Type
- Initial Balance
- PIN
- Language: Python
- Database: MySQL
- Connector: Uses
mysql-connectorpackage for Python to interact with the database.
The system handles the following operations:
- Customer Account Management: Create, update, and delete customer accounts.
- Transactions: Record deposits, withdrawals, and transfers between accounts.
- Data Security: Password-protected login for both employees and customers.
The code interacts with a MySQL database to:
- Store and Retrieve Data: Customer and transaction data are securely stored in a relational database.
- Perform Error Handling: Manages exceptions during database operations and user interactions.
- Utilize Python Fundamentals: Implements functionalities using loops, conditionals, and functions.
-
Database Configuration:
- Create a MySQL database for the system.
- Define tables for customers, employees, and transactions.
- Create necessary stored procedures for account creation, transaction processing, and data retrieval.
-
Install Required Libraries: Install the required Python packages using the following command:
pip install mysql-connector-python
-
Update Credentials: Modify the database connection code to include your MySQL credentials.
connection = mysql.connector.connect( host="localhost", user="your_username", password="your_password", database="your_database_name" )
-
Run the Application: Execute the script to start the Bank Management System.
python bank_management_system.py
-
Improved Security:
- Implement hashed passwords for login credentials.
- Add two-factor authentication for sensitive operations.
-
Enhanced User Interface:
- Develop a GUI for better usability.
- Optimize the menu navigation for both employees and customers.
-
Advanced Features:
- Add support for loan management.
- Include account statements and email notifications.
-
Performance Optimization:
- Optimize database queries for faster operations.
- Implement caching for frequently accessed data.
Sayak
- B.Tech in Computer Science and Communication Engineering, KIIT University.