Forked from mainlyNitin's Banking Management Systems Project
A comprehensive desktop application for managing banking operations with secure user authentication and transaction processing
- 📖 About the Project
- 💻 Getting Started
- 👥 Authors
- 🔭 Future Features
- 🤝 Contributing
- ⭐️ Show your support
- 💝 Credits
- 📝 License
The Banking Management System is a comprehensive desktop application built with Python and Tkinter that provides a complete banking solution. It features separate interfaces for administrators and customers, enabling secure account management, transaction processing, and financial operations.
- Frontend: Tkinter (Python GUI)
- Backend: Pure Python
- Database: SQLite3
- Language: Python 3.8+
- 🔐 Secure Authentication - User registration and login system with password protection
- 👥 Dual Interface - Separate admin and user panels with role-based access
- 💰 Transaction Management - Deposit, withdraw, and transfer funds between accounts
- 📊 Balance Inquiry - Real-time account balance checking
- 📈 Transaction History - Complete record of all financial transactions
- 👨💼 Admin Dashboard - User management, account oversight, and system monitoring
- 📁 Data Export - Export transaction history to CSV format
- 🏦 Account Management - Create, view, and manage user accounts
Since this is a desktop application, you can see it in action through these screenshots:
To get a local copy up and running, follow these simple steps.
- Python 3.8 or higher
- Git
- SQLite3 (usually comes with Python)
- Clone the repository
git clone https://github.com/geekmanesh/banking-management-system-python.git
cd banking-management-system-python- Create a virtual environment (recommended)
python3 -m venv venv
# Activate it:
# macOS / Linux
source venv/bin/activate
# Windows (PowerShell)
.\venv\Scripts\Activate.ps1
# Windows (cmd)
venv\Scripts\activate.bat- Install dependencies
pip install -r requirements.txt- Set up environment configuration
python3 scripts/setup.py
# Edit the .env file with your preferred text editor
# Set your admin credentials and other configuration values- Run the application
python -m src.main-
First-time setup
- The application will automatically create the SQLite database and required tables
- Default admin account might be created
-
Using the system
- For Users: Register a new account or login with existing credentials
- For Admins: Use admin credentials(.env file) to access the admin panel
- Perform transactions, check balances, and export data as needed
👤 Geekmanesh
- GitHub: @geekmanesh
👤 mainlyNitin
- Github: @mainlyNitin
- Enhanced Security - Add password encryption and two-factor authentication
- Email Notifications - Send transaction alerts via email
- Mobile App - Develop a companion mobile application
- Advanced Reporting - Generate PDF reports and financial statements
- Multi-Currency Support - Handle different currencies and exchange rates
- Loan Management - Integrate loan application and management system
- API Integration - REST API for third-party integrations
- Data Backup - Automated database backup system
Contributions, issues, and feature requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
If you like this project, please give it a ⭐️! This helps others discover the project and encourages further development.
- Original Project: This project is forked from Banking-Management-Systems by mainlyNitin
- Thanks to mainlyNitin for this good project that learn me a lot
This project is MIT licensed.


