QPay is a MERN stack (MongoDB, Express.js, React, Node.js) mock digital wallet application that allows users to do simulation of money deposit, transfer, and withdraw activities. It tracks all transactions with proper history and balance management.
-
User Authentication
- Secure login/signup with JWT and bcrypt
- User account validation and token-based sessions
-
Wallet Management
- Create and manage user wallets
- Deposit, transfer (by phone number), and withdraw funds
- Real-time balance checks
-
Transactions
- Transaction history with timestamps and statuses
- Payouts and payment status checks
- Frontend: React.js
- Backend: Node.js, Express.js, JWT, bcrypt
- Database: MongoDB Atlas
git clone https://github.com/sray3000/qpay.git
cd qpaycd backend
npm iCreate a .env file in the backend directory:
PORT=5000
DB_URL=your_mongodb_atlas_connection_string
JWT_SECRET=your_jwt_secretRun the backend server:
npm startOpen a new terminal window:
cd frontend
npm i
npm startThe app will now be running at http://localhost:3000.
POST /auth/signup– Register a new userPOST /auth/login– Authenticate user and return JWT token
GET /wallet– Fetch wallet detailsPOST /wallet/deposit– Deposit fundsPOST /wallet/transfer– Transfer funds to another user by phone numberPOST /wallet/withdraw– Withdraw funds