Skip to content

ISTE-VIT/PaymentX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PaymentX

PaymentX: NFC-Based Offline Payment System

Android Kotlin Node.js MongoDB NFC

Campus payments made simple, even without internet!

App Screenshots

🌟 Overview

PaymentX solves a critical problem in campus environments - making payments in areas with limited internet connectivity. Our solution leverages NFC technology to enable seamless transactions between students and campus merchants without requiring internet on the user's device.

πŸ’Έ For Students

  • Make payments without internet
  • Link your college ID card via NFC
  • Secure transactions with custom PIN
  • Easy wallet top-up
  • Track transactions (coming soon)

πŸͺ For Merchants

  • Simple storefront setup
  • Receive payments instantly
  • Comprehensive transaction history
  • Withdraw funds easily
  • Business analytics dashboard

✨ Key Features

πŸ”„ Payment Flow

  1. Registration - Sign up with your college email and register your ID card
  2. Setup - Create transaction PIN and verify phone number
  3. Top-up - Add funds to your PaymentX wallet
  4. Tap & Pay - Tap your ID card on merchant's device
  5. Verify - Authorize with your secure PIN
  6. Complete - Transaction processed instantly!

⚠️ Note: While users can pay offline, merchants require internet connectivity to process transactions.

πŸ›‘οΈ Security Features

πŸ”

Secure Authentication
Multi-factor authentication for all users

πŸ”’

Encrypted Transactions
All payment data is fully encrypted

πŸ”’

PIN Protection
Custom PIN for authorizing transactions

πŸ“Ά

Secure NFC
Tamper-resistant communication

πŸ› οΈ Technology Stack


Kotlin

Node.js

MongoDB

JWT

NFC

πŸ“± Application Architecture

System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚      β”‚                 β”‚      β”‚                 β”‚
β”‚   User Mobile   │◄────►│  PaymentX API   │◄────►│ Merchant Mobile β”‚
β”‚   Application   β”‚      β”‚    (Backend)    β”‚      β”‚   Application   β”‚
β”‚                 β”‚      β”‚                 β”‚      β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β–Ό
                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚                 β”‚
                         β”‚    MongoDB      β”‚
                         β”‚   Database      β”‚
                         β”‚                 β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Mobile Architecture

PaymentX/
β”œβ”€β”€ User App/
β”‚   β”œβ”€β”€ Authentication
β”‚   β”‚   β”œβ”€β”€ Registration
β”‚   β”‚   β”œβ”€β”€ Login
β”‚   β”‚   └── PIN Management
β”‚   β”œβ”€β”€ Wallet Management
β”‚   β”‚   β”œβ”€β”€ Top-up
β”‚   β”‚   β”œβ”€β”€ Balance Check
β”‚   β”‚   └── Withdrawal
β”‚   β”œβ”€β”€ NFC Integration
β”‚   β”‚   β”œβ”€β”€ Card Registration
β”‚   β”‚   └── Payment Processing
β”‚   └── Transaction History
β”‚
└── Merchant App/
    β”œβ”€β”€ Business Registration
    β”œβ”€β”€ Payment Terminal
    β”œβ”€β”€ Transaction Dashboard
    └── Withdrawal Management

βš™οΈ Implementation Status

Component Status Details
Merchant App βœ… Complete Fully implemented with payment receiving functionality
Backend API βœ… Complete All endpoints implemented and documented
User Authentication βœ… Complete Email & PIN verification implemented
NFC Integration βœ… Complete Card registration and payment processing
Merchant Transaction History βœ… Complete Full history tracking for merchants
User App Core Features πŸ”„ In Progress Basic functionality implemented, UI refinements ongoing
User Transaction History ⏳ Pending Implementation planned for next sprint

πŸš€ Getting Started

Prerequisites

  • Android Studio
  • Node.js
  • MongoDB
  • Android device with NFC capability

Installation & Setup

User App Setup
  1. Clone this repository
    git clone https://github.com/ISTE-VIT/paymentx-app.git
  2. Open the project in Android Studio
  3. Connect an NFC-capable Android device
  4. Run the application
  5. Register with your college email
  6. Add your ID card via NFC
Merchant App Setup
  1. Follow the same steps as User App
  2. Select "Register as Merchant" during setup
  3. Enter your business details
  4. Ensure your device has active internet connection
Backend Setup
  1. Clone the backend repository
    git clone https://github.com/ISTE-VIT/paymentx-backend.git
  2. Install dependencies
    cd paymentx-backend
    npm install
  3. Set up environment variables
    cp .env.example .env
    # Edit .env with your configuration
  4. Start the server
    npm start

πŸ”— Related Repositories

πŸ‘₯ Meet Our Team

Rudra Gupta

Android Developer

Pratham Khanduja

Android & Backend Developer

Saniya Goyal

UI/UX Designer

PaymentX

Transforming Campus Payments | Made with ❀️ at ISTE-VIT