Skip to content

Krishukr12/paytm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paytm Clone

A full-stack payment application built with TypeScript, Node.js, and Nextjs.

🚀 Features

  • User Authentication
  • Account Management
  • Money Transfer
  • Transaction History
  • Real-time Balance Updates

🛠️ Tech Stack

Backend

  • Node.js
  • Express.js
  • TypeScript
  • Prisma (PostgreSQL)
  • Zod (Schema Validation)

Frontend

  • NextJs
  • TypeScript
  • Tailwind CSS

📋 Prerequisites

  • Node.js (v18 or higher)
  • PostgreSQL
  • pnpm (recommended) or npm

🔧 Installation

  1. Clone the repository:
git clone <repository-url>
cd paytm
  1. Install dependencies:
pnpm install
  1. Set up environment variables:
# Create .env file in apps/http_server
DATABASE_URL="postgresql://username:password@localhost:5432/paytm_db"
PORT=8000
  1. Set up the database:
cd packages/db
pnpm prisma migrate dev
pnpm prisma generate

🚀 Running the Application

Backend

cd apps/http_server
pnpm dev

Frontend

cd apps/web
pnpm dev

The application will be available at:

📁 Project Structure


## 🔧 Turborepo Configuration

The project uses Turborepo for managing the monorepo workspace. Key configurations:

- **Workspace Management**: Using pnpm workspaces
- **Build Pipeline**: Configured in `turbo.json`
- **Shared Dependencies**: Managed through the root `package.json`
- **Development Scripts**: Unified commands for all packages

## 🔒 Environment Variables

### Backend (.env)
```env
DATABASE_URL="postgresql://username:password@localhost:5432/paytm_db"
PORT=8000

�� API Endpoints

Authentication

  • POST /api/v1/auth/register
  • POST /api/v1/auth/login

Transactions

  • POST /api/v1/transaction/send-money
  • GET /api/v1/transaction/history

Account

  • GET /api/v1/account/balance
  • GET /api/v1/account/details

🤝 Contributing

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

👥 Authors

  • Krishan Kumar Safi

About

A fully functional clone of the popular Paytm application, built to replicate core features like online payments, mobile recharges, utility bill payments, and more. This project is an exercise in developing scalable, responsive, and secure web applications using modern technologies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors