Welcome to the project! This project aims to replicate the basic functionality of a simple payment exchange application, 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 PayTM Clone project, follow these steps:
-
Clone the Repository: Clone the repository from GitHub:
git clone git@github.com:NawinKumarSharma/paytment-app.git
-
Set Environment Variables: Navigate to the
frontend
andbackend
folders and add necessary environment variables. You may need to create a.env
file and configure it with required variables: In the backend/.env file:MONGODB_URI = your-mongo-url CORS_ORIGIN=* PORT = 3000 JWT_SECRET = your-jwt-secret
In the frontend/.env file:
VITE_SERVER_URL = your-server-url
Replace the backend endpoints to your own, mainly in Frontend/src/pages portion.
-
Install Dependencies: Install dependencies in the
frontend
andbackend
folders using npm or yarn:cd frontend npm install cd ../backend npm install
-
Start the Backend Server: In the
backend
folder, start the development server using npm:npm run dev
-
Start the Frontend: In the
frontend
folder, start the frontend application:npm run dev
This 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.
Author Name : Nawin Kumar Sharma
GitHub URI : nawinkumarsharma
Contributions are welcome! If you find any bugs or want to add new features, feel free to open an issue or submit a pull request.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request.