https://github.com/syedahmedullah14/paytm-project
PayTM-Like Web App A full-featured web application developed using the MERN stack, designed to simulate the functionality of PayTM. This app supports user registration, authentication, and secure banking transactions. Built with modern tools and technologies such as React with Vite, Tailwind CSS for styling
https://github.com/syedahmedullah14/paytm-project
axios-react expressjs jwt-authentication mongodb mongoose nodejs react-state-management reactjs tailwind-css vite zod-validation
Last synced: 3 months ago
JSON representation
PayTM-Like Web App A full-featured web application developed using the MERN stack, designed to simulate the functionality of PayTM. This app supports user registration, authentication, and secure banking transactions. Built with modern tools and technologies such as React with Vite, Tailwind CSS for styling
- Host: GitHub
- URL: https://github.com/syedahmedullah14/paytm-project
- Owner: syedahmedullah14
- Created: 2024-05-21T14:35:39.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T16:03:31.000Z (about 2 years ago)
- Last Synced: 2026-01-03T12:23:41.659Z (6 months ago)
- Topics: axios-react, expressjs, jwt-authentication, mongodb, mongoose, nodejs, react-state-management, reactjs, tailwind-css, vite, zod-validation
- Language: JavaScript
- Homepage:
- Size: 198 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### PayTM-Like Web App
### Table of Contents
1. Introduction
2. Features
3. Technologies Used
4. Installation
5. Usage
6. API Endpoints
7. Contributing
8. License
### Introduction
This project is a PayTM-like web application developed using the MERN stack (MongoDB, Express, React, Node.js). It provides functionalities similar to real-world banking transactions, featuring robust user authentication, session-based transactions, and an attractive user interface. The application ensures data integrity and security using tools such as JWT for authentication and Zod for validation.
### Features
- User Registration and Authentication
- Secure Transactions using Mongoose Sessions
- Real-time Transaction Updates
- Responsive and Attractive UI
- State Management in React
- API Integration using Axios
### Technologies Used
- Frontend:
- _React.js with Vite_
- Tailwind CSS for styling
- _Axios_
- _React State Management Tools_
- Backend:
- Node.js
- Express.js
- MongoDB with Mongoose
- Libraries and Tools:
- Zod for validation
- JWT for authentication
### Installation
### Prerequisites
- Node.js (v14 or higher)
- MongoDB
### Clone the Repository
git clone https://github.com/syedahmedullah14/PayTM-Project.git
cd PayTM-Project
### Backend Setup
1. Navigate to the backend directory:
cd backend
2. Install dependencies:
npm install
3. Set up environment variables:
Create a `config.js` file in the backend directory and add the following
module.export ={
JWT_SECRET=your_jwt_secret}
4. Start the backend server:
npm start
### Frontend Setup
1. Navigate to the frontend directory:
cd ../frontend
2. Install dependencies:
npm install
3. Start the frontend server using Vite:
npm run dev
### Usage
1. Open your browser and navigate to `http://localhost:3000` for the frontend.
2. Use Postman or similar tools to interact with the backend at `http://localhost:5000` for API testing.
### API Endpoints
### User Authentication
- Register
- `POST /api/v1/signup`
- Body: `{ "firstName": "string", lastName:string, "email": "string", "password": "string" }`
- Login
- `POST /api/v1/user/signin`
- Body: `{ "email": "string", "password": "string" }`
### Transactions
- Create Transaction
- `POST /api/transactions`
- Headers: `Authorization: Bearer `
- Body: `{ "amount": "number", "type": "string" }`
- Get Balance
- `GET /api/user/balance`
- Headers: `Authorization: Bearer `
### Contributing
Contributions are welcome! Please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature-branch`).
5. Open a pull request.
### License
This project is licensed under the MIT License — see the LICENSE file for details.PayTM-Like Web App