Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Paytm Clone — Full Stack Digital Wallet Application

Live Demo: https://paytm-project-tau.vercel.app/

Overview

A full stack digital wallet and payment application inspired by Paytm, built with a modern MERN-style architecture. The application allows users to securely sign up, authenticate using JWT, manage balances, search users, and transfer money between accounts.

This project focuses on:

  • Secure authentication
  • REST API architecture
  • Real-world payment flow simulation
  • Frontend and backend deployment
  • Clean component-based frontend structure
  • MongoDB database integration
  • Production deployment practices

Features

Authentication System

  • User Signup
  • User Signin
  • JWT-based Authentication
  • Protected Routes
  • Persistent Login using Local Storage

Wallet Features

  • View account balance
  • Transfer money between users
  • User search functionality
  • Real-time frontend updates

Frontend Features

  • Responsive UI
  • Reusable React components
  • API integration using Axios
  • React Router navigation
  • Tailwind CSS styling

Backend Features

  • RESTful API architecture
  • Express middleware structure
  • MongoDB integration with Mongoose
  • JWT token verification middleware
  • Secure API routes

Tech Stack

Frontend

  • React.js
  • Vite
  • Tailwind CSS
  • Axios
  • React Router DOM

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT Authentication
  • CORS

Deployment

  • Frontend: Vercel
  • Backend: Render
  • Database: MongoDB Atlas

Live Deployment

Frontend

https://paytm-project-tau.vercel.app/

Backend

Hosted on Render and connected using environment variables.


Project Structure

paytm/
│
├── frontend/
│   ├── src/
│   ├── components/
│   ├── pages/
│   └── public/
│
├── backend/
│   ├── routes/
│   ├── middleware/
│   ├── db.js
│   └── index.js
│
└── README.md

Environment Variables

Frontend (.env)

VITE_API_URL=YOUR_BACKEND_URL

Backend (.env)

MONGO_URI=YOUR_MONGODB_URI
JWT_SECRET=YOUR_SECRET_KEY

Installation & Setup

Clone Repository

git clone https://github.com/chandu14321/Paytm-project.git

Backend Setup

cd backend
npm install
node index.js

Frontend Setup

cd frontend
npm install
npm run dev

API Endpoints

User Routes

Method Endpoint Description
POST /api/v1/user/signup Register User
POST /api/v1/user/signin Login User
GET /api/v1/user/bulk Search Users

Account Routes

Method Endpoint Description
GET /api/v1/account/balance Get Balance
POST /api/v1/account/transfer Transfer Money

Security Implementation

This project implements:

  • JWT token authentication
  • Protected backend routes
  • Password validation
  • CORS handling
  • Environment variable management
  • Secure API communication

Challenges Solved

During development, several real-world engineering challenges were handled:

  • Frontend and backend deployment integration
  • Environment variable management across platforms
  • CORS configuration issues
  • JWT authentication flow
  • API architecture and route protection
  • Production deployment debugging
  • Axios request handling and API configuration

What I Learned

Through building this project, I gained hands-on experience in:

  • Full stack application architecture
  • REST API design
  • Authentication systems using JWT
  • Production deployment workflows
  • Frontend/backend communication
  • MongoDB schema design
  • State management and component structure
  • Debugging real deployment issues

Future Improvements

  • Transaction history
  • Refresh token authentication
  • Email verification
  • Payment gateway integration
  • Profile management
  • Admin dashboard
  • Notifications system
  • Docker deployment
  • Automated testing

Author

Gurram Siva Chandu

Full Stack Developer focused on building scalable web applications, backend systems, and modern frontend experiences.

GitHub: https://github.com/chandu14321


Repository

GitHub Repository:

https://github.com/chandu14321/Paytm-project

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages