Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

QPay – Digital Wallet Application

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.


🚀 Features

  • 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

🛠 Tech Stack

  • Frontend: React.js
  • Backend: Node.js, Express.js, JWT, bcrypt
  • Database: MongoDB Atlas

⚙️ Installation & Setup

1. Clone the Repository

git clone https://github.com/sray3000/qpay.git
cd qpay

2. Backend Setup

cd backend
npm i

Create a .env file in the backend directory:

PORT=5000
DB_URL=your_mongodb_atlas_connection_string
JWT_SECRET=your_jwt_secret

Run the backend server:

npm start

3. Frontend Setup

Open a new terminal window:

cd frontend
npm i
npm start

The app will now be running at http://localhost:3000.

🔧 Useful API Endpoints

Auth Routes

  • POST /auth/signup – Register a new user
  • POST /auth/login – Authenticate user and return JWT token

Wallet Routes

  • GET /wallet – Fetch wallet details
  • POST /wallet/deposit – Deposit funds
  • POST /wallet/transfer – Transfer funds to another user by phone number
  • POST /wallet/withdraw – Withdraw funds

👥 Contributors

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages