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.
-
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
| Module | Status | Progress |
|---|---|---|
| Customer Portal | β Complete |
|
| Banker Dashboard | β Complete |
|
| Virtual Card Management | β Complete |
|
| Transaction Processing | β Complete |
|
| ChatBot | β Complete |
|
| Voice Assistant | β Complete |
|
- Vue.js
- TailwindCSS
- Vite (Build tool)
- Node.js
- Express.js
- PostgreSQL database
βββ 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
- Node.js (v14.x or higher)
- npm or yarn
- PostgreSQL database
-
Clone the repository
git clone https://github.com/Abid-sh84/Banking-system.git cd banking-system -
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
-
Set up frontend
cd frontend npm install npm run dev -
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)
- 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
- Customer account management
- Transaction approval and monitoring
- Performance metrics and analytics
- Report generation and export
The API provides endpoints for:
- Authentication and user management
- Transaction processing
- Card operations
- Deposit handling
- Customer information
- Chatbot interactions
- Voice assistant integration
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.
- 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
- 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
To configure the chatbot, ensure the following environment variable is set in your backend .env file:
OPENROUTER_API_KEY=your_api_key_here
The application includes an advanced voice assistant that provides hands-free banking support with cutting-edge speech recognition and text-to-speech capabilities.
- ποΈ 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
- 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
- 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
- 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
- Click the voice assistant button (phone icon) in the bottom-right corner
- Allow microphone access when prompted
- Click "Speak" and ask your banking questions
- Receive spoken responses along with visual text
- Continue the conversation naturally with follow-up questions
- 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)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some 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 more details.