Welcome to the Rupay project! This project aims to replicate the basic functionality of PayTM, allowing users to perform transactions, view their account balance, and interact with other users.
- User Authentication & Authorization using JWT
- View Account Balance
- Search and view other users
- Send money to other users' accounts
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
To get started with the Rupay, follow these steps:
-
Clone the Repository: Clone the repository from GitHub:
git clone https://github.com/HarshBatra/paytm-clone.git -
Set Environment Variables: Navigate to the
frontendandbackendfolders and add necessary environment variables. You may need to create a.envfile and configure it with required variables: In the backend/.env file:MONGO_URL = your-mongo-url PORT = 3000 JWT_SECRET = your-jwt-secretIn the frontend/.env file:
VITE_SERVER_URL = your-server-url -
Install Dependencies: Install dependencies in the
frontendandbackendfolders using npm or yarn:cd frontend npm install cd ../backend npm install -
Start the Backend Server: In the
backendfolder, start the development server using npm:npm run dev -
Start the Frontend: In the
frontendfolder, start the frontend application:npm run dev
The Rupay project implements MongoDB Transactions to ensure data consistency and reliability. Transactions follow the ACID properties of databases, ensuring that transactions are either fully completed and committed or reverted back in case of issues, thus preventing inconsistencies in the database.
Contributions to the Rupay are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.
Thank you for using! Happy Coding! 🚀