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: [email protected]
- 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: [email protected]
- LinkedIn: Chintan Limbachiya