This is a MERN (MongoDB, Express, React, Node.js) stack-based digital wallet application that allows users to perform various financial transactions, manage their wallets, and track their spending.
- User Authentication: Secure registration and login functionality.
- Email Verification: Email-based verification during registration using the Resend API.
- Forgot Password: Secure password recovery using email verification via the Resend API.
- Payment Processing: Integration with PayPal API for seamless transaction handling.
- Transaction History: A detailed record of all user transactions.
- Responsive Design: Fully responsive frontend for optimal user experience across devices.
Follow these steps to set up the application on your local machine:
- Node.js and npm installed
- MongoDB instance running
- PayPal developer account for API credentials
- Resend API account for email services
git clone <repository-url>
cd <repository-folder>
Navigate to both the backend and frontend directories to install the required dependencies:
# For Backend
cd backend
npm install
# For Frontend
cd ../frontend
npm install
Update the .env
file in the backend directory with the following values:
MONGO_URL=<your-mongodb-connection-string>
PORT=<backend-port-number>
JWT_SECRET=<your-jwt-secret>
RESEND_API_KEY=<your-resend-api-key>
CLIENT_URL=<frontend-url>
PAYPAL_CLIENT_ID=<your-paypal-client-id>
PAYPAL_CLIENT_SECRET=<your-paypal-client-secret>
cd backend
npm start
cd frontend
npm run dev
Open your browser and navigate to http://localhost:<frontend-port>
.
Basic unit and integration tests are included. Run tests using:
npm test
Contributions are welcome. Submit a pull request with your changes.