This is a Bank Management System project using Python and Tkinter for the GUI and MySQL as the database. This application allows users to open accounts, check balances, deposit and withdraw money, and close accounts. Additionally, it provides an admin interface for viewing all account details.
-
User Login:
- Open a new account
- Deposit money
- Withdraw money
- Check balance
- Close account
-
Admin Login:
- View all account details
- Python 3.x
- MySQL Server
- Tkinter library for Python
- MySQL Connector for Python
-
Clone the repository:
git clone https://github.com/yourusername/bank-management-system.git cd bank-management-system
-
Install the required libraries:
pip install -r requirements.txt
-
Create the database:
- Open MySQL command line or any MySQL client.
- Create a database named
bank
:CREATE DATABASE bank;
- Create the necessary tables:
USE bank; CREATE TABLE ACCOUNT ( ACNO INT PRIMARY KEY, NAME VARCHAR(100), DOB DATE, PHONE_NO VARCHAR(15), ADDRESS VARCHAR(255), OPENING_BALANCE INT ); CREATE TABLE SECURED ( ACNO INT PRIMARY KEY, PASSWORD VARCHAR(255) );
-
Run the application:
python main.py
OR
python BANK MANAGEMENT.py
-
Open Account:
- Fill in the required details: Name, Account Number, Date of Birth, Phone Number, Opening Balance, Password, Address.
- Click the "Submit" button to open the account.
-
Deposit Amount:
- Enter the account number and amount to deposit.
- Click the "Submit" button to deposit the amount.
-
Withdraw Amount:
- Enter the account number, amount to withdraw, and password.
- Click the "Submit" button to withdraw the amount.
-
Check Balance:
- Enter the account number and password.
- Click the "Submit" button to check the balance.
-
Close Account:
- Enter the account number and password.
- Click the "Submit" button to close the account.
- Admin Login:
- Enter the admin password.
- If authenticated, click the "Show Data" button to view all account details.
The main functions are:
openAcc()
: Opens a new account.checkBal()
: Checks the balance of an account.closeAcc()
: Closes an account.depoAmo()
: Deposits an amount into an account.withAmo()
: Withdraws an amount from an account.user_options()
: Provides user options.admin_options()
: Provides admin options.main()
: Main function to run the application.
Each function creates a new window using Tkinter's Toplevel
widget and interacts with the MySQL database using mysql.connector
.
This project is licensed under the MIT License.