https://github.com/abid-sh84/banking-system
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.
https://github.com/abid-sh84/banking-system
express-js nodejs posrgresql render tailwindcss vercel vite vuejs
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/abid-sh84/banking-system
- Owner: Abid-sh84
- Created: 2025-05-15T08:11:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-19T06:51:33.000Z (12 months ago)
- Last Synced: 2025-06-19T07:44:15.723Z (12 months ago)
- Topics: express-js, nodejs, posrgresql, render, tailwindcss, vercel, vite, vuejs
- Language: Vue
- Homepage: https://banking-system-iota-khaki.vercel.app
- Size: 418 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.
  
[](https://nodejs.org/)
[](https://vuejs.org/)
[](https://expressjs.com/)
[](https://www.postgresql.org/)
[](https://vercel.com/)
[](https://render.com/)
## ✨ 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







### Backend Technologies





### Development & Deployment Tools





## 🚥 Development Status
Module
Status
Progress
Customer Portal
✅ Complete
Banker Dashboard
✅ Complete
Virtual Card Management
✅ Complete
Transaction Processing
✅ Complete
ChatBot
✅ Complete
Voice Assistant
✅ Complete
## 🛠️ 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**
```bash
git clone https://github.com/Abid-sh84/Banking-system.git
cd banking-system
```
2. **Set up backend**
```bash
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**
```bash
cd frontend
npm install
npm run dev
```
4. **Access the application**
- Frontend: http://localhost:5173 (or port configured in vite.config.js)
- Backend API: http://localhost:5000 (or port configured in server.js)
## 💻 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
[](https://banking-system-iota-khaki.vercel.app/)
## 🤝 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](LICENSE) file for more details.
## 📞 Contact & Support
[](mailto:muhammadabid9326@gmail.com)
[](https://x.com/AbidShaikh550)
[](https://www.linkedin.com/in/shkabid40/)