Skip to content

GauravSingh3822/Paytm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💳 Paytm Monolithic Clone

🚀 A Spring Boot Monolithic Application that mimics core features of Paytm such as User Authentication, Wallet Management, Transactions, QR Payments, and Bill Payments.
Built with Java, Spring Boot, Hibernate/JPA, MySQL, Spring Security (JWT + OAuth2), Role-Based Access Control (RBAC), and Actuator Monitoring.


✨ Features

  • 👤 User Authentication (Signup/Login with JWT & OAuth2)
  • 🛡 Security
    • 🔑 JWT Token Based Security
    • 🔒 OAuth2 Authorization
    • 🎭 Role-Based Access Control (User/Admin)
  • 💰 Wallet Management (Add money, check balance)
  • 🔄 Money Transfer (Send/Receive between users)
  • 📲 QR Code Payments (Generate & Scan QR for transactions)
  • 🧾 Bill Payments (Recharge, utilities, etc.)
  • 📊 Transaction History
  • 📡 Spring Boot Actuator
    • Health checks
    • Metrics & Info
    • Custom monitoring endpoints
  • 🌐 REST APIs with Swagger UI

🏗 Tech Stack

  • Java 17+
  • 🌱 Spring Boot 3
  • 🗄 MySQL + JPA/Hibernate
  • 🔐 Spring Security (JWT + OAuth2)
  • 🎭 Role-Based Access (RBAC)
  • 📲 ZXing (QR Code Generator/Scanner)
  • 📘 Swagger (OpenAPI)
  • 📡 Spring Boot Actuator
  • 🧪 JUnit & Mockito

📂 Project Structure

┣ 📂 controller # REST Controllers (Auth, Wallet, QR, Txn, Admin)

┣ 📂 entity # JPA Entities (User, Wallet, Transaction, QRCode)

┣ 📂 dto # Request/Response DTOs,BankDto,WalletDto,TranscationDto,UserDto

┣ 📂 repository # Spring Data JPA Repositories

┣ 📂 service # Business Services (Auth, Wallet, Txn, QR)

┣ 📂 security # JWT, OAuth2, Role-Based Access Config

┣ 📂 qr # QR Generator/Scanner (ZXing)

┣ 📂 resources ┃ ┣ application.yml # DB + Actuator Config

┃ ┗ schema.sql # Init Scripts (optional)

┣ PaytmCloneApplication.java

🔑 Main API Endpoints

Auth & Security

  • POST /auth/signup → Register new user
  • POST /auth/login → Login & get JWT
  • GET /auth/oauth2 → OAuth2 login flow
  • GET /admin/users → List users (Admin only)

Wallet & Transactions

  • POST /wallet/add-money → Add money to wallet
  • GET /wallet/balance → Check balance
  • POST /wallet/transfer → Transfer money between users
  • GET /transaction/history → View all transactions

QR Code Payments

  • POST /qr/generate/{userId} → Generate QR for user
  • POST /qr/pay → Pay via QR scan

Actuator Monitoring

  • GET /actuator/health → Health check
  • GET /actuator/metrics → Metrics
  • GET /actuator/info → App info

⚡ Quick Start

git clone https://github.com/your-username/paytm-clone.git
cd paytm-clone
./mvnw spring-boot:run

About

No description or website provided.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages