A Paytm-like digital wallet & payment system built using Turborepo with modern web technologies. This project follows monorepo best practices, scalable architecture, and clean CI workflows.
- 🔐 User authentication (NextAuth)
- 💰 Wallet system (balance, transactions)
- 🔁 P2P money transfer
- 📜 Transaction history
- 🧑💼 Admin & user separation
- 🏗️ Monorepo architecture using Turborepo
- 🧪 Linting, formatting & type checking via CI
- ⚡ Optimized builds with caching
paytm/
├── apps/
│ ├── user-app/ # Next.js user application
│ ├── bank_webhook_handler/ # Webhook / backend service
│
├── packages/
│ ├── db/ # Prisma database package
│ ├── ui/ # Shared UI components
│ ├── store/ # Shared state / utilities
│ ├── eslint-config/ # Shared ESLint config
│ ├── typescript-config/ # Shared TS config
│
├── turbo.json
├── package.json
├── README.md
- Frontend: Next.js, React, Tailwind CSS
- Backend: Node.js, Prisma
- Database: PostgreSQL
- Auth: NextAuth
- Monorepo Tooling: Turborepo
- Language: TypeScript
- CI/CD: GitHub Actions
- Linting & Formatting: ESLint, Prettier
git clone https://github.com/your-username/paytm-turborepo.git
cd paytm-turboreponpm installnpm run devcd apps/user-app
npm run devnpm run lintnpm run formatnpm run check-typesCreate a .env file and add:
DATABASE_URL=postgresql://user:password@localhost:5432/paytm
NEXTAUTH_SECRET=your_secret
NEXTAUTH_URL=http://localhost:3000
⚠️ Never commit.envfiles
This project uses GitHub Actions to automatically run:
- ✅ Linting
- ✅ Formatting check
- ✅ Type checking
On every Pull Request
- UPI simulation
- Wallet recharge via payment gateway
- Role-based access control
- Notifications system
- Mobile-first UI
- Unit & integration tests
Contributions are welcome!
- Fork the repo
- Create a new branch
- Commit your changes
- Open a Pull Request
This project is licensed under the MIT License.
Prince Aspiring Full-Stack Developer 🚀 Building real-world products with modern tech.