QuickPay is a full-stack web application which provides virtual digital payment platform. This project is built using the MERN stack (MongoDB, Express.js, React.js, Node.js) to simulate a real-world payment system, user authentication, and transactional features. The application is designed to be responsive, secure, and scalable, offering essential features such as, peer-to-peer payments, and user-friendly navigation.
-
User Authentication:
- Secure login and signup process utilizing JWT (JSON Web Tokens) to maintain user sessions.
- Passwords are encrypted using bcrypt.js for enhanced security.
- Session persistence across various devices is ensured with tokens.
-
Digital Wallet:
- Users can create and manage a virtual wallet to handle their funds.
-
Payments:
- Seamlessly perform peer-to-peer transactions between registered users.
-
Responsive Design:
- Built using React and styled with TailwindCSS to ensure a smooth and responsive UI/UX.
-
Frontend:
- React.js for creating dynamic and responsive user interfaces.
- TailwindCSS for styling and layout.
- Axios for handling asynchronous HTTP requests between the client and server.
-
Backend:
- Node.js and Express.js for handling server-side logic, API routes, and request handling.
- JWT for managing user authentication and session security.
- Bcrypt.js for hashing and securing passwords.
-
Database:
- MongoDB as the primary database to store user details, transactions, and wallet information.
- Mongoose as the Object Data Modeling (ODM) library for MongoDB.
- Node.js and npm installed on your local machine.
- MongoDB set up locally or use a cloud database (e.g., MongoDB Atlas).
-
Clone the repository:
git clone https://github.com/Sairajepawar/quickpay.git cd quickpay -
Install dependencies for both frontend and backend:
-
Frontend:
cd frontend npm install -
Backend:
cd backend npm install
-
-
Set up environment variables:
- Create a
.envfile in thebackenddirectory with the following values:
PORT=3000 MONGODB_URL=your_mongodb_connection_string JWT_SECRET=your_secret_key
sample of mongodb connection string
mongodb_connection_string = mongodb://USERNAME:PASSWORD@localhost:27017- Create a
.envfile in thefrontenddirectory with the following values:
VITE_API_BASE_URL=api_url
for running locally
api_url=http://localhost:3000 - Create a
-
Run the development servers:
-
Start the backend server:
cd backend node index.js -
Start the frontend development server:
cd frontend npm run dev
-
-
Access the application:
- Frontend: Open http://localhost:5173
- Backend API: Open http://localhost:3000
-
Test the features:
- Sign up or log in to create a user account.
- Access your virtual wallet, send payments.
We welcome contributions! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.