Skip to content

Abid-sh84/Banking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

100 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Banking System (Modern Bank India)

A full-stack banking application with customer and banker portals, virtual card management, transaction processing, deposit handling, AI-powered chatbot, and advanced voice assistant functionality.

version license last-commit

Built with Frontend Backend Database Frontend Deploy Backend Deploy

✨ Features

  • Dual Portal System

    • Customer portal for account management and transactions
    • Banker dashboard for customer management and oversight
  • Financial Management

    • Transaction processing and approval workflow
    • Virtual card creation and management
    • Deposit handling and tracking
  • Security

    • JWT-based authentication
    • OTP verification
    • Role-based access control
  • Additional Features

    • πŸ’¬ AI-Powered ChatBot using OpenRouter Deepseek model for intelligent customer assistance
    • 🎀 Voice Assistant with advanced speech recognition and text-to-speech capabilities
    • πŸ“Š CIBIL score assessment
    • ⏱️ Activity timeline and transaction history
    • πŸ“ˆ Performance metrics and analytics

πŸ’» Tech Stack Details

Frontend Technologies

Vue.js TailwindCSS Vite JavaScript HTML5 CSS3 Speech API

Backend Technologies

Node.js Express.js PostgreSQL JWT OpenRouter AI

Development & Deployment Tools

Git VS Code Vercel Render npm

πŸš₯ Development Status

Module Status Progress
Customer Portal βœ… Complete 100%
Banker Dashboard βœ… Complete 100%
Virtual Card Management βœ… Complete 100%
Transaction Processing βœ… Complete 100%
ChatBot βœ… Complete 100%
Voice Assistant βœ… Complete 100%

πŸ› οΈ Tech Stack

Frontend

  • Vue.js
  • TailwindCSS
  • Vite (Build tool)

Backend

  • Node.js
  • Express.js
  • PostgreSQL database

πŸ“ Project Structure

β”œβ”€β”€ backend/                  # Backend Node.js/Express application
β”‚   β”œβ”€β”€ scripts/              # Additional backend scripts
β”‚   β”œβ”€β”€ src/                  # Main source code
β”‚   β”‚   β”œβ”€β”€ config/           # Database and configuration 
β”‚   β”‚   β”œβ”€β”€ controllers/      # Request handlers
β”‚   β”‚   β”œβ”€β”€ middleware/       # Authentication and validation middleware
β”‚   β”‚   β”œβ”€β”€ models/           # Data models
β”‚   β”‚   β”œβ”€β”€ routes/           # API routes
β”‚   β”‚   β”œβ”€β”€ scripts/          # Additional scripts
β”‚   β”‚   └── utils/            # Utility functions
β”‚   └── uploads/              # Upload directory
β”‚
β”œβ”€β”€ frontend/                 # Vue.js frontend application
β”‚   β”œβ”€β”€ public/               # Static assets
β”‚   └── src/                  # Frontend source code
β”‚       β”œβ”€β”€ components/       # Vue components
β”‚       β”œβ”€β”€ contexts/         # React/Vue contexts
β”‚       β”œβ”€β”€ directives/       # Vue directives
β”‚       β”œβ”€β”€ pages/            # Application pages
β”‚       β”œβ”€β”€ router/           # Vue Router configuration
β”‚       β”œβ”€β”€ services/         # API services
β”‚       β”œβ”€β”€ stores/           # State management
β”‚       └── utils/            # Utility functions

πŸš€ Getting Started

Prerequisites

  • Node.js (v14.x or higher)
  • npm or yarn
  • PostgreSQL database

Installation

  1. Clone the repository

    git clone https://github.com/Abid-sh84/Banking-system.git
    cd banking-system
  2. Set up backend

    cd backend
    npm install
    
    # Configure environment variables
    # Create a .env file with necessary configuration
    
    # Run database migrations
    node run_migrations.js
    
    # Start the server
    npm start
  3. Set up frontend

    cd frontend
    npm install
    npm run dev
  4. Access the application

πŸ’» Usage

Customer Portal

  • Account overview and management
  • Transaction initiation and history
  • Virtual card management
  • Deposit creation and tracking
  • AI-powered chatbot assistance
  • Voice assistant for hands-free banking

Banker Portal

  • Customer account management
  • Transaction approval and monitoring
  • Performance metrics and analytics
  • Report generation and export

πŸ“‹ API Documentation

The API provides endpoints for:

  • Authentication and user management
  • Transaction processing
  • Card operations
  • Deposit handling
  • Customer information
  • Chatbot interactions
  • Voice assistant integration

πŸ€– AI-Powered Chatbot

The application features a sophisticated AI-powered chatbot that leverages the Deepseek large language model via the OpenRouter API. This integration provides customers with intelligent, context-aware assistance.

Features

  • AI Integration: Uses Deepseek-chat-v3-0324 model from OpenRouter Api
  • Context-Aware Responses: The chatbot has access to the customer's account information, transaction history, and banking data
  • Intelligent Banking Assistant: Can answer questions about account balances, transactions, banking procedures, and general banking information
  • Fallback Mechanism: Includes a robust fallback system when the AI service is unavailable
  • Personalized Experience: Tailors responses based on the customer's banking profile and history

Technical Implementation

  • Backend integration uses Node.js with Axios for API communication
  • Real-time customer data from PostgreSQL is provided as context to the AI
  • Responses are formatted with relevant quick action buttons for enhanced UX
  • System messages provide guardrails to ensure appropriate and helpful responses

Setup

To configure the chatbot, ensure the following environment variable is set in your backend .env file:

OPENROUTER_API_KEY=your_api_key_here

🎀 Voice Assistant

The application includes an advanced voice assistant that provides hands-free banking support with cutting-edge speech recognition and text-to-speech capabilities.

Key Features

  • πŸŽ™οΈ Advanced Speech Recognition: Real-time voice input processing with high accuracy
  • πŸ”Š Text-to-Speech Synthesis: Natural voice responses with customizable settings
  • πŸ“± Cross-Platform Compatibility: Optimized for desktop, iOS Safari, and Android Chrome
  • 🎯 Context-Aware Responses: Integrated with the AI chatbot for intelligent voice conversations
  • πŸ”’ Privacy-First: Voice processing respects user privacy with secure microphone handling

Device Support

  • Desktop: Full feature support on Chrome, Edge, Firefox, and Safari
  • iOS: Optimized for Safari 14.5+ with enhanced mobile experience
  • Android: Optimized for Chrome 90+ with improved speech recognition
  • Mobile Features: Touch-optimized interface with responsive design

Voice Capabilities

  • Microphone Management: Automatic permission handling with clear user guidance
  • Real-time Feedback: Visual indicators for listening state and voice activity
  • Error Handling: Comprehensive error management with helpful troubleshooting
  • Timeout Protection: Smart timeout handling to prevent hanging sessions
  • Background Processing: Non-blocking voice processing for smooth user experience

Technical Implementation

  • Speech Recognition API: Utilizes Web Speech API with WebKit fallbacks
  • Speech Synthesis API: Advanced text-to-speech with voice customization
  • Mobile Optimization: Enhanced audio settings for different devices
  • Confidence Thresholds: Adaptive speech recognition accuracy based on device type
  • State Management: Robust state handling for voice sessions and permissions

Usage

  1. Click the voice assistant button (phone icon) in the bottom-right corner
  2. Allow microphone access when prompted
  3. Click "Speak" and ask your banking questions
  4. Receive spoken responses along with visual text
  5. Continue the conversation naturally with follow-up questions

Browser Requirements

  • Chrome/Edge: Version 80+ (recommended)
  • Safari: Version 14.5+ (iOS/macOS)
  • Firefox: Version 90+ (limited support)
  • Mobile: Latest versions of Safari (iOS) or Chrome (Android)

πŸ“Š Live Demo

Frontend Demo

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some 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 more details.

πŸ“ž Contact & Support

Email Twitter LinkedIn

About

Full-Stack Banking System Prototype Modern Bank India is a full-stack banking application built to simulate core banking functionalities for both customers and bankers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages