Skip to content

ChintanL07/Bank-Management-System

Repository files navigation

๐Ÿฆ Bank Management System - Modern Web Application

๐ŸŽฏ Overview

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.

๐Ÿ”„ Dual Implementation Available:

  1. ๐Ÿ“ฑ Modern Web App - Streamlit-based with advanced features (New & Recommended)
  2. โŒจ๏ธ Original Console App - C++ console-based application (Legacy)

โœจ Modern Web Application Features

๐Ÿ” Authentication & Security

  • โœ… Multi-user registration and login system
  • โœ… Secure password hashing with BCrypt
  • โœ… Session management and SQL injection protection

๐Ÿ’ณ Enhanced Banking Operations

  • โœ… 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

๐Ÿ“Š Analytics & Insights

  • โœ… Interactive Dashboards with Plotly visualizations
  • โœ… Balance Distribution charts and graphs
  • โœ… Transaction Trends analysis over time
  • โœ… Monthly Spending patterns and insights

๐ŸŽจ Beautiful UI/UX Design

  • โœ… Modern Gradient Themes with professional styling
  • โœ… Card-based Layouts with shadows and animations
  • โœ… Responsive Design for all screen sizes
  • โœ… Intuitive Navigation with sidebar menu

๐Ÿš€ Quick Start - Web Application

Prerequisites

  • Python 3.8+ installed
  • Git for cloning the repository

Installation & Setup

  1. Clone the Repository

    git clone https://github.com/ChintanL07/Bank-Management-System.git
    cd Bank-Management-System
  2. Install Dependencies

    pip install -r requirements.txt
  3. Run the Application

    streamlit run bank_management_app.py
  4. Access the Application

    • Open your browser and go to: http://localhost:8501
    • The application will automatically open in your default browser

๐ŸŽฎ Demo Login Credentials

Username: john_doe     | Password: password123
Username: jane_smith   | Password: mypassword
Username: alice_johnson| Password: securepass
Username: bob_wilson   | Password: bobpass456

๐ŸŽฏ Alternative Launchers

  • Windows PowerShell: Double-click start_app.ps1
  • Windows Batch: Double-click start_app.bat

๐Ÿ–ฅ๏ธ Original Console Application Features

The original C++ implementation provides basic banking operations:

  1. Open Account - Create new bank accounts with unique numbers
  2. Deposit Money - Add funds to existing accounts
  3. Withdraw Money - Remove funds with balance validation
  4. Display Account - View account details and balance

๐Ÿ’ป Console Application Setup

Prerequisites

  • C++ compiler (g++, clang++, or Visual Studio)
  • Any C++ IDE or text editor

Compilation & Execution

For C++ Version:

g++ -o BankManagementSystem main.cpp
./BankManagementSystem

For C Version:

gcc -o bank bank.c
./bank

๐Ÿ—๏ธ Project Architecture

๐Ÿ“ File Structure

Bank-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

๐Ÿ› ๏ธ Technology Stack

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

๐Ÿ“ธ Screenshots & Features

๐Ÿ  Modern Dashboard

  • Real-time account metrics and balances
  • Quick action buttons for common operations
  • Recent transaction overview
  • Beautiful gradient card designs

๐Ÿ’ณ Account Management

  • Multiple account types support
  • Visual account cards with details
  • Easy deposit/withdrawal interfaces
  • Transaction history with search

๐Ÿ“Š Analytics Dashboard

  • Interactive charts and graphs
  • Balance distribution visualizations
  • Transaction trend analysis
  • Monthly spending insights

๐Ÿ”„ Migration Guide: Console โ†’ Web

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

๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Contact & Support


๐Ÿ† Project Evolution

From Simple Console App โ†’ Professional Web Application

Python Streamlit SQLite License

โญ If you found this project helpful, please give it a star! โญ

  • main.cpp: The main file containing the implementation of the Bank Management System.

Usage

  1. Run the executable file created after compilation.
  2. Follow the on-screen instructions to perform different banking operations.
  3. Choose from the menu options to open an account, deposit money, withdraw money, or display account details.
  4. Exit the application by selecting the exit option from the menu.

Contribution

Contributions are welcome! Please fork the repository and create a pull request with your changes.

Contact

For any questions or inquiries, please contact:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published