Skip to content

Svarde17/UNIPAY_Bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆ UniPay - Next Generation Digital Banking Platform

React Node.js TypeScript Stripe

WhatsApp Image 2025-06-09 at 21 09 58_61b47d68

WhatsApp Image 2025-06-09 at 21 10 14_b719dcb8

WhatsApp Image 2025-06-09 at 21 12 43_3a7178c5

WhatsApp Image 2025-06-09 at 21 11 40_776f3451

WhatsApp Image 2025-06-09 at 21 13 12_edf2abcf

Revolutionizing digital banking with seamless payments, intelligent analytics, and enterprise-grade security


๐ŸŒŸ Problem Statement

Traditional banking systems suffer from:

  • Fragmented Payment Methods - Users juggle multiple apps for different payment types
  • Poor User Experience - Complex interfaces and lengthy transaction processes
  • Limited Analytics - Lack of actionable insights for financial decisions
  • Security Concerns - Vulnerable authentication and transaction systems
  • Integration Challenges - Difficulty connecting various financial services

๐Ÿ’ก Our Solution

UniPay is a comprehensive digital banking platform that unifies all payment methods into one intelligent interface, providing:

โœ… Unified Payment Gateway - UPI, Net Banking, Credit/Debit Cards, E-wallets in one platform
โœ… AI-Powered Analytics - Smart financial insights and spending patterns
โœ… Enterprise Security - Multi-factor authentication with OTP verification
โœ… Real-time Processing - Instant transactions with live status updates
โœ… Responsive Design - Seamless experience across all devices


๐ŸŽฏ Key Features

๐Ÿ” Authentication & Security

  • Multi-Factor Authentication with Twilio SMS OTP
  • Secure Session Management with JWT tokens
  • KYC Document Upload with file validation
  • Role-based Access Control for different user types

๐Ÿ’ณ Payment Methods

  • UPI Payments - Instant money transfers
  • Net Banking - Direct bank account integration
  • Credit/Debit Cards - Secure card processing via Stripe
  • E-Wallets - Popular wallet integrations
  • E-Commerce Payments - Online shopping checkout

๐Ÿ“Š Analytics Dashboard

  • Real-time Transaction Monitoring
  • Spending Pattern Analysis with interactive charts
  • Monthly/Yearly Financial Reports
  • Budget Tracking with smart notifications
  • Export to PDF/Excel for record keeping

๐Ÿค– AI-Powered Features

  • Smart Chatbot for customer support
  • Fraud Detection using ML algorithms
  • Personalized Recommendations based on spending habits
  • Predictive Analytics for financial planning

๐Ÿ“ฑ User Experience

  • Responsive Mobile-First Design
  • Dark/Light Theme Toggle
  • Progressive Web App (PWA) capabilities
  • Offline Transaction Queue
  • Push Notifications for important updates

๐Ÿ—๏ธ Architecture

graph TB
    A[React Frontend] --> B[Express.js Backend]
    B --> C[Stripe Payment Gateway]
    B --> D[Twilio SMS Service]
    B --> E[Firebase Storage]
    A --> F[Recharts Analytics]
    A --> G[Tailwind CSS UI]
    B --> H[Multer File Upload]
Loading

๐Ÿ”ง Tech Stack

Frontend:

  • โš›๏ธ React 18 with TypeScript for type safety
  • ๐ŸŽจ Tailwind CSS + shadcn/ui for modern UI components
  • ๐Ÿ“Š Recharts for beautiful data visualizations
  • ๐Ÿ”„ React Query for efficient data fetching
  • ๐Ÿงฉ React Router for seamless navigation

Backend:

  • ๐ŸŸข Node.js + Express.js for robust API development
  • ๐Ÿ’ณ Stripe for secure payment processing
  • ๐Ÿ“ฑ Twilio for SMS OTP verification
  • ๐Ÿ“ Multer for file upload handling
  • ๐Ÿ”’ JWT for authentication tokens

Database & Storage:

  • ๐Ÿ”ฅ Firebase for real-time data sync
  • ๐Ÿ“ฆ Local Storage for offline capabilities
  • ๐Ÿ’พ In-memory OTP store for security

๐Ÿš€ Installation

Prerequisites

  • Node.js 18.x or higher
  • npm or yarn package manager
  • Stripe account for payments
  • Twilio account for SMS
  • Firebase project setup

1. Clone the Repository

git clone https://github.com/yourusername/unipay.git
cd unipay

2. Backend Setup

cd backend
npm install

# Create .env file
cp .env.example .env

Configure Environment Variables:

# Twilio Configuration
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token  
TWILIO_PHONE_NUMBER=your_twilio_phone_number

# Stripe Configuration
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key

# Application Settings
PORT=5000
FRONTEND_URL=http://localhost:3000
NODE_ENV=development

3. Frontend Setup

cd ../CITI-Bank-main-UniPay-main
npm install

# Start development server
npm run dev

4. Start Both Servers

# Terminal 1 - Backend
cd backend && npm start

# Terminal 2 - Frontend  
cd CITI-Bank-main-UniPay-main && npm run dev

5. Access the Application


๐Ÿ“š API Documentation

Authentication Endpoints

Send OTP

POST /api/send-otp
Content-Type: application/json

{
  "mobile": "9876543210"
}

Verify OTP

POST /api/verify-otp
Content-Type: application/json

{
  "mobile": "9876543210",
  "otp": "123456"
}

Payment Endpoints

Create Stripe Checkout Session

POST /create-checkout-session
Content-Type: application/json

{
  "amount": 1000
}

Upload KYC Document

POST /upload-kyc
Content-Type: multipart/form-data

{
  "kycFile": [FILE]
}

๐ŸŽฎ Usage Guide

1. Registration & Login

  • Enter mobile number for OTP-based authentication
  • Upload KYC documents for account verification
  • Complete profile setup with personal details

2. Making Payments

  • Select payment method (UPI/Cards/Net Banking)
  • Enter recipient details and amount
  • Confirm transaction with secure authentication
  • Receive real-time payment confirmation

3. Dashboard Analytics

  • View spending patterns with interactive charts
  • Monitor account balance across multiple accounts
  • Track monthly budgets and savings goals
  • Export transaction history as PDF reports

4. Managing Beneficiaries

  • Add frequent payees for quick transfers
  • Organize beneficiaries by categories
  • Set transfer limits for enhanced security

๐Ÿงช Testing

Unit Tests

npm run test

Integration Tests

npm run test:integration

E2E Tests

npm run test:e2e

Performance Testing

npm run test:performance

๐Ÿš€ Deployment

Using Docker

# Build and run with Docker Compose
docker-compose up --build

# Access application at http://localhost:3000

Using Vercel (Frontend)

# Install Vercel CLI
npm i -g vercel

# Deploy frontend
cd CITI-Bank-main-UniPay-main
vercel --prod

Using Heroku (Backend)

# Login to Heroku
heroku login

# Create new app
heroku create unipay-backend

# Deploy
git push heroku main

๐Ÿ”’ Security Features

  • ๐Ÿ” End-to-End Encryption for all sensitive data
  • ๐Ÿ›ก๏ธ CORS Protection against cross-origin attacks
  • โšก Rate Limiting to prevent API abuse
  • ๐Ÿ” Input Validation with comprehensive sanitization
  • ๐Ÿ“ฑ OTP Verification with time-based expiration
  • ๐Ÿ—‚๏ธ Secure File Upload with type validation
  • ๐Ÿ”‘ JWT Authentication with refresh tokens

๐Ÿ“ˆ Performance Metrics

  • โšก Page Load Time: < 2.5 seconds
  • ๐Ÿš€ API Response Time: < 200ms average
  • ๐Ÿ“ฑ Mobile Performance: 95+ Lighthouse score
  • ๐ŸŒ Browser Support: Chrome, Firefox, Safari, Edge
  • ๐Ÿ“Š Uptime: 99.9% availability guaranteed

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

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

๐Ÿ† Awards & Recognition

  • ๐Ÿ… Runners Up - Citi Campus Innovation Challenge (CCIC) Hackathon 5.0, 2025

๐Ÿ‘ฅ Team

Role Name LinkedIn
Team Lead Shrinjita Paul LinkedIn
Full Stack Developer Sahil Varde LinkedIn
Frontend Architect Tanmay Pawara LinkedIn

Made with โค๏ธ by the UniPay Team

โญ Star this repository if you found it helpful! โญ

๐Ÿ” Back to Top

About

AN ULTIMATE DIGITAL PLATFORM FOR BANKING

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages