A robust and feature-rich Paytm clone that allows users to sign up, sign in, transfer money, and view their account balance. The application supports role-based access control with two primary user roles: Admin and User. Built using the MERN stack with Prisma as the ORM and PostgreSQL as the database, this project ensures high performance and scalability.
- Sign Up and Sign In
- Users can create an account or log in using their credentials.
- Money Transfer
- Users can transfer money securely to other users.
- View Balance
- Users can check their current account balance.
- User Management
- Admins can delete user accounts if any violations are detected.
- Penalty System
- Admins can deduct money from users' accounts if caught cheating or violating rules.
- React + TypeScript: For building a responsive and interactive user interface.
- Tailwind CSS: For modern, utility-first styling.
- Node.js: For creating the server-side application logic.
- Express.js: For building robust and scalable APIs.
- PostgreSQL: Relational database for securely storing user and transaction data.
- Prisma: ORM for seamless database access and management.
- JWT Authentication: For secure login sessions.
- Role-Based Access Control (RBAC): For differentiating admin and user functionalities.
- Clone the repository:
git clone https://github.com/your-repo/paytm-clone.git cd paytm-clone
- Install Dependencies
npm install
- Configure the .env File
DATABASE_URL=postgresql://username:password@localhost:5432/paytm_clone JWT_SECRET=your_jwt_secret
- Run Database Migrations
npx prisma migrate dev
- Start the Development Server
npm run dev
- Delete Users: Admins can remove users if they detect violations or cheating.
- Deduct Funds: Admins can penalize users by deducting funds from their accounts for - fraudulent activities.
- Transfer Money: Users can transfer money to other users.
- View Balance: Users can view the balance in their accounts.
- Implement two-factor authentication for added security.
- Add a transaction history feature for better tracking.
- Introduce a wallet recharge and cashback system.