Bank Management System has been completely transformed from a basic C++ console application into a modern, feature-rich web application using Streamlit with beautiful UI/UX design and enterprise-level features.
- 📱 Modern Web App - Streamlit-based with advanced features (New & Recommended)
- ⌨️ Original Console App - C++ console-based application (Legacy)
- ✅ Multi-user registration and login system
- ✅ Secure password hashing with BCrypt
- ✅ Session management and SQL injection protection
- ✅ Multiple Account Types (Savings, Current)
- ✅ Deposits & Withdrawals with real-time validation
- ✅ Inter-account Transfers with reference numbers
- ✅ Complete Transaction History with timestamps
- ✅ Real-time Balance Updates
- ✅ Interactive Dashboards with Plotly visualizations
- ✅ Balance Distribution charts and graphs
- ✅ Transaction Trends analysis over time
- ✅ Monthly Spending patterns and insights
- ✅ Modern Gradient Themes with professional styling
- ✅ Card-based Layouts with shadows and animations
- ✅ Responsive Design for all screen sizes
- ✅ Intuitive Navigation with sidebar menu
- Python 3.8+ installed
- Git for cloning the repository
-
Clone the Repository
git clone https://github.com/ChintanL07/Bank-Management-System.git cd Bank-Management-System -
Install Dependencies
pip install -r requirements.txt
-
Run the Application
streamlit run bank_management_app.py
-
Access the Application
- Open your browser and go to:
http://localhost:8501 - The application will automatically open in your default browser
- Open your browser and go to:
Username: john_doe | Password: password123
Username: jane_smith | Password: mypassword
Username: alice_johnson| Password: securepass
Username: bob_wilson | Password: bobpass456
- Windows PowerShell: Double-click
start_app.ps1 - Windows Batch: Double-click
start_app.bat
The original C++ implementation provides basic banking operations:
- Open Account - Create new bank accounts with unique numbers
- Deposit Money - Add funds to existing accounts
- Withdraw Money - Remove funds with balance validation
- Display Account - View account details and balance
- C++ compiler (g++, clang++, or Visual Studio)
- Any C++ IDE or text editor
For C++ Version:
g++ -o BankManagementSystem main.cpp
./BankManagementSystemFor C Version:
gcc -o bank bank.c
./bankBank-Management-System/
├── 🌐 Web Application
│ ├── bank_management_app.py # Main Streamlit app
│ ├── requirements.txt # Python dependencies
│ ├── create_demo_data.py # Demo data generator
│ ├── start_app.ps1 # PowerShell launcher
│ ├── start_app.bat # Batch launcher
│ └── bank_system.db # SQLite database
├── 📖 Documentation
│ ├── README_WebApp.md # Detailed web app docs
│ ├── PROJECT_SHOWCASE.md # Complete project overview
│ └── README.md # This file
└── 💻 Console Applications
├── main.cpp # C++ implementation
├── bank.c # C implementation
└── accounts.dat # Data file
Web Application:
- Frontend: Streamlit with custom CSS
- Backend: Python with SQLite database
- Visualization: Plotly for interactive charts
- Security: BCrypt for password hashing
Console Application:
- Language: C++ with STL containers
- Storage: File-based data persistence
- Real-time account metrics and balances
- Quick action buttons for common operations
- Recent transaction overview
- Beautiful gradient card designs
- Multiple account types support
- Visual account cards with details
- Easy deposit/withdrawal interfaces
- Transaction history with search
- Interactive charts and graphs
- Balance distribution visualizations
- Transaction trend analysis
- Monthly spending insights
| Console Feature | Web Enhancement |
|---|---|
| Single user | → Multi-user with authentication |
| Text interface | → Beautiful web UI with charts |
| Basic operations | → Advanced banking features |
| File storage | → Professional database |
| No analytics | → Rich insights and visualizations |
| Desktop only | → Web-based, accessible anywhere |
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Streamlit Team - For the amazing web app framework
- Plotly - For beautiful interactive visualizations
- SQLite - For reliable database functionality
- Python Community - For excellent libraries and tools
- GitHub: @ChintanL07
- Email: b22me036@iitj.ac.in
- Project Link: Bank Management System
From Simple Console App → Professional Web Application
⭐ If you found this project helpful, please give it a star! ⭐
main.cpp: The main file containing the implementation of the Bank Management System.
- Run the executable file created after compilation.
- Follow the on-screen instructions to perform different banking operations.
- Choose from the menu options to open an account, deposit money, withdraw money, or display account details.
- Exit the application by selecting the exit option from the menu.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
For any questions or inquiries, please contact:
- Name: Limbachiya Chintan Bharatbhai
- Email: chintanlimbachiya1515@gmail.com
- LinkedIn: Chintan Limbachiya