Paytm is a web application designed to facilitate secure and convenient cash transactions between users. Built with React, Express, Mongoose (MongoDB), Zod, and JSON Web Tokens (JWT), it offers a seamless user experience for sending and receiving money online.
-
Signup and Signin: Create an account or log in securely using JWT authentication. Credentials are stored securely in the user's localStorage.
-
Access Control: Only authorized users can access cash transaction features.
-
User-Friendly Interface:
-
- Intuitive Dashboard: View a clear list of active users (excluding yourself) for easy money transfer selection.
-
- Responsive UI: Optimized for various devices and screen sizes, ensuring user convenience.
-
- Dynamic UI Updates: Real-time UI updates reflect transaction activity, keeping users informed.
-
Efficient Money Management:
-
- Send Money: Easily transfer money to other users on the platform.
-
- Request Money: Initiate money requests, notifying the recipient through a user-friendly popup.
-
- Manage Requests: Accept, deny, or postpone incoming money requests directly from the popup or your dashboard.
-
Robust Database:
-
- Mongoose (MongoDB): Stores user data, transaction history, and other relevant information securely.
-
Data Validation:
-
- Zod: Enforces robust input validation for all user interactions, ensuring data integrity. Getting Started
- Clone Repository: git clone https://github.com/your-username/paytm-clone.git
- Install Dependencies: npm install (or yarn install)
- Database Setup:
- Install and configure MongoDB locally or on a cloud provider.
- Configure database connection details in the backend code.
- Start Development Server: npm start (or yarn start)
- Access Application: Visit http://localhost:3000 (or your designated port) in your browser.
For production deployment,vercel was picked for both backend and frontend using serverless functions.
This project is licensed under the MIT License.