{"id":28936356,"url":"https://github.com/abid-sh84/banking-system","last_synced_at":"2026-03-17T15:40:49.152Z","repository":{"id":293807787,"uuid":"983987011","full_name":"Abid-sh84/Banking-system","owner":"Abid-sh84","description":"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.","archived":false,"fork":false,"pushed_at":"2025-06-19T06:51:33.000Z","size":428,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T07:44:15.723Z","etag":null,"topics":["express-js","nodejs","posrgresql","render","tailwindcss","vercel","vite","vuejs"],"latest_commit_sha":null,"homepage":"https://banking-system-iota-khaki.vercel.app","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abid-sh84.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T08:11:53.000Z","updated_at":"2025-06-19T06:51:36.000Z","dependencies_parsed_at":"2025-06-01T10:27:42.025Z","dependency_job_id":"76559e30-337d-4881-818d-68af8a1ff3c6","html_url":"https://github.com/Abid-sh84/Banking-system","commit_stats":null,"previous_names":["abid-sh84/banking-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Abid-sh84/Banking-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abid-sh84%2FBanking-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abid-sh84%2FBanking-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abid-sh84%2FBanking-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abid-sh84%2FBanking-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abid-sh84","download_url":"https://codeload.github.com/Abid-sh84/Banking-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abid-sh84%2FBanking-system/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261358692,"owners_count":23146674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express-js","nodejs","posrgresql","render","tailwindcss","vercel","vite","vuejs"],"created_at":"2025-06-22T20:08:38.510Z","updated_at":"2026-03-17T15:40:49.142Z","avatar_url":"https://github.com/Abid-sh84.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Banking System (Modern Bank India)\n\nA full-stack banking application with customer and banker portals, virtual card management, transaction processing, deposit handling, AI-powered chatbot, and advanced voice assistant functionality.\n\n![version](https://img.shields.io/badge/version-1.0.0-blue) ![license](https://img.shields.io/badge/license-MIT-green) ![last-commit](https://img.shields.io/badge/last%20commit-June%202025-brightgreen)\n\n[![Built with](https://img.shields.io/badge/Built%20with-Node.js-339933?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n[![Frontend](https://img.shields.io/badge/Frontend-Vue.js-4FC08D?style=for-the-badge\u0026logo=vue.js\u0026logoColor=white)](https://vuejs.org/)\n[![Backend](https://img.shields.io/badge/Backend-Express.js-000000?style=for-the-badge\u0026logo=express\u0026logoColor=white)](https://expressjs.com/)\n[![Database](https://img.shields.io/badge/Database-PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)](https://www.postgresql.org/)\n[![Frontend Deploy](https://img.shields.io/badge/Frontend%20Deployed%20with-Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)](https://vercel.com/)\n[![Backend Deploy](https://img.shields.io/badge/Backend%20Deployed%20with-Render-46E3B7?style=for-the-badge\u0026logo=render\u0026logoColor=white)](https://render.com/)\n\n## ✨ Features\n\n- **Dual Portal System**\n  - Customer portal for account management and transactions\n  - Banker dashboard for customer management and oversight\n  \n- **Financial Management**\n  - Transaction processing and approval workflow\n  - Virtual card creation and management\n  - Deposit handling and tracking\n\n- **Security**\n  - JWT-based authentication\n  - OTP verification\n  - Role-based access control\n\n- **Additional Features**\n  - 💬 AI-Powered ChatBot using OpenRouter Deepseek model for intelligent customer assistance\n  - 🎤 **Voice Assistant** with advanced speech recognition and text-to-speech capabilities\n  - 📊 CIBIL score assessment\n  - ⏱️ Activity timeline and transaction history\n  - 📈 Performance metrics and analytics\n\n## 💻 Tech Stack Details\n\n\u003cdiv align=\"center\"\u003e\n  \n### Frontend Technologies\n![Vue.js](https://img.shields.io/badge/Vue.js-4FC08D?style=for-the-badge\u0026logo=vue.js\u0026logoColor=white)\n![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white)\n![Speech API](https://img.shields.io/badge/Web_Speech_API-4285F4?style=for-the-badge\u0026logo=google\u0026logoColor=white)\n\n### Backend Technologies\n![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n![Express.js](https://img.shields.io/badge/Express.js-000000?style=for-the-badge\u0026logo=express\u0026logoColor=white)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n![JWT](https://img.shields.io/badge/JWT-000000?style=for-the-badge\u0026logo=json-web-tokens\u0026logoColor=white)\n![OpenRouter AI](https://img.shields.io/badge/OpenRouter_AI-FF6B6B?style=for-the-badge\u0026logo=openai\u0026logoColor=white)\n\n### Development \u0026 Deployment Tools\n![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge\u0026logo=git\u0026logoColor=white)\n![VS Code](https://img.shields.io/badge/VS_Code-007ACC?style=for-the-badge\u0026logo=visual-studio-code\u0026logoColor=white)\n![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)\n![Render](https://img.shields.io/badge/Render-46E3B7?style=for-the-badge\u0026logo=render\u0026logoColor=white)\n![npm](https://img.shields.io/badge/npm-CB3837?style=for-the-badge\u0026logo=npm\u0026logoColor=white)\n\n\u003c/div\u003e\n\n## 🚥 Development Status\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eModule\u003c/th\u003e\n    \u003cth\u003eStatus\u003c/th\u003e\n    \u003cth\u003eProgress\u003c/th\u003e\n  \u003c/tr\u003e  \u003ctr\u003e\n    \u003ctd\u003eCustomer Portal\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eBanker Dashboard\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVirtual Card Management\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eTransaction Processing\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eChatBot\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eVoice Assistant\u003c/td\u003e\n    \u003ctd\u003e✅ Complete\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"https://img.shields.io/badge/100%25-brightgreen?style=flat-square\u0026logo=checkmarx\u0026logoColor=white\u0026label=completed\" alt=\"100%\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 🛠️ Tech Stack\n\n### Frontend\n- Vue.js \n- TailwindCSS\n- Vite (Build tool)\n\n### Backend\n- Node.js\n- Express.js\n- PostgreSQL database\n\n## 📁 Project Structure\n\n```\n├── backend/                  # Backend Node.js/Express application\n│   ├── scripts/              # Additional backend scripts\n│   ├── src/                  # Main source code\n│   │   ├── config/           # Database and configuration \n│   │   ├── controllers/      # Request handlers\n│   │   ├── middleware/       # Authentication and validation middleware\n│   │   ├── models/           # Data models\n│   │   ├── routes/           # API routes\n│   │   ├── scripts/          # Additional scripts\n│   │   └── utils/            # Utility functions\n│   └── uploads/              # Upload directory\n│\n├── frontend/                 # Vue.js frontend application\n│   ├── public/               # Static assets\n│   └── src/                  # Frontend source code\n│       ├── components/       # Vue components\n│       ├── contexts/         # React/Vue contexts\n│       ├── directives/       # Vue directives\n│       ├── pages/            # Application pages\n│       ├── router/           # Vue Router configuration\n│       ├── services/         # API services\n│       ├── stores/           # State management\n│       └── utils/            # Utility functions\n```\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js (v14.x or higher)\n- npm or yarn\n- PostgreSQL database\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/Abid-sh84/Banking-system.git\n   cd banking-system\n   ```\n\n2. **Set up backend**\n   ```bash\n   cd backend\n   npm install\n   \n   # Configure environment variables\n   # Create a .env file with necessary configuration\n   \n   # Run database migrations\n   node run_migrations.js\n   \n   # Start the server\n   npm start\n   ```\n\n3. **Set up frontend**\n   ```bash\n   cd frontend\n   npm install\n   npm run dev\n   ```\n\n4. **Access the application**\n   - Frontend: http://localhost:5173 (or port configured in vite.config.js)\n   - Backend API: http://localhost:5000 (or port configured in server.js)\n\n## 💻 Usage\n\n### Customer Portal\n- Account overview and management\n- Transaction initiation and history\n- Virtual card management\n- Deposit creation and tracking\n- AI-powered chatbot assistance\n- Voice assistant for hands-free banking\n\n### Banker Portal\n- Customer account management\n- Transaction approval and monitoring\n- Performance metrics and analytics\n- Report generation and export\n\n## 📋 API Documentation\n\nThe API provides endpoints for:\n- Authentication and user management\n- Transaction processing\n- Card operations\n- Deposit handling\n- Customer information\n- Chatbot interactions\n- Voice assistant integration\n\n## 🤖 AI-Powered Chatbot\n\nThe 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.\n\n### Features\n- **AI Integration**: Uses Deepseek-chat-v3-0324 model from OpenRouter Api\n- **Context-Aware Responses**: The chatbot has access to the customer's account information, transaction history, and banking data\n- **Intelligent Banking Assistant**: Can answer questions about account balances, transactions, banking procedures, and general banking information \n- **Fallback Mechanism**: Includes a robust fallback system when the AI service is unavailable\n- **Personalized Experience**: Tailors responses based on the customer's banking profile and history\n\n### Technical Implementation\n- Backend integration uses Node.js with Axios for API communication\n- Real-time customer data from PostgreSQL is provided as context to the AI\n- Responses are formatted with relevant quick action buttons for enhanced UX\n- System messages provide guardrails to ensure appropriate and helpful responses\n\n### Setup\nTo configure the chatbot, ensure the following environment variable is set in your backend `.env` file:\n```\nOPENROUTER_API_KEY=your_api_key_here\n```\n\n## 🎤 Voice Assistant\n\nThe application includes an advanced voice assistant that provides hands-free banking support with cutting-edge speech recognition and text-to-speech capabilities.\n\n### Key Features\n- **🎙️ Advanced Speech Recognition**: Real-time voice input processing with high accuracy\n- **🔊 Text-to-Speech Synthesis**: Natural voice responses with customizable settings\n- **📱 Cross-Platform Compatibility**: Optimized for desktop, iOS Safari, and Android Chrome\n- **🎯 Context-Aware Responses**: Integrated with the AI chatbot for intelligent voice conversations\n- **🔒 Privacy-First**: Voice processing respects user privacy with secure microphone handling\n\n### Device Support\n- **Desktop**: Full feature support on Chrome, Edge, Firefox, and Safari\n- **iOS**: Optimized for Safari 14.5+ with enhanced mobile experience\n- **Android**: Optimized for Chrome 90+ with improved speech recognition\n- **Mobile Features**: Touch-optimized interface with responsive design\n\n### Voice Capabilities\n- **Microphone Management**: Automatic permission handling with clear user guidance\n- **Real-time Feedback**: Visual indicators for listening state and voice activity\n- **Error Handling**: Comprehensive error management with helpful troubleshooting\n- **Timeout Protection**: Smart timeout handling to prevent hanging sessions\n- **Background Processing**: Non-blocking voice processing for smooth user experience\n\n### Technical Implementation\n- **Speech Recognition API**: Utilizes Web Speech API with WebKit fallbacks\n- **Speech Synthesis API**: Advanced text-to-speech with voice customization\n- **Mobile Optimization**: Enhanced audio settings for different devices\n- **Confidence Thresholds**: Adaptive speech recognition accuracy based on device type\n- **State Management**: Robust state handling for voice sessions and permissions\n\n### Usage\n1. Click the voice assistant button (phone icon) in the bottom-right corner\n2. Allow microphone access when prompted\n3. Click \"Speak\" and ask your banking questions\n4. Receive spoken responses along with visual text\n5. Continue the conversation naturally with follow-up questions\n\n### Browser Requirements\n- **Chrome/Edge**: Version 80+ (recommended)\n- **Safari**: Version 14.5+ (iOS/macOS)\n- **Firefox**: Version 90+ (limited support)\n- **Mobile**: Latest versions of Safari (iOS) or Chrome (Android)\n\n## 📊 Live Demo\n\n[![Frontend Demo](https://img.shields.io/badge/Frontend%20Demo-Visit%20Website-blueviolet?style=for-the-badge)](https://banking-system-iota-khaki.vercel.app/)\n\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for more  details.\n\n## 📞 Contact \u0026 Support\n\n\u003cdiv align=\"center\"\u003e\n  \n[![Email](https://img.shields.io/badge/Email-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:muhammadabid9326@gmail.com)\n[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://x.com/AbidShaikh550)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/shkabid40/)\n\n\u003c/div\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabid-sh84%2Fbanking-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabid-sh84%2Fbanking-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabid-sh84%2Fbanking-system/lists"}