Welcome to the Wallet Management System! This project is a comprehensive web application designed to manage user wallets, perform transactions, and handle various financial operations seamlessly.
-
User Authentication:
- #: Create a new account.
- #: Log into an existing account.
- Sign Out: Log out from the account.
- Forgot Password: Reset the password via email.
- Email Verification: Verify user email addresses with OTP.
-
Dashboard:
- Overview of account balance and recent transactions.
- Graphical representation of income and expenses.
- Notifications and messages display.
-
Wallet Management:
- View total balance, mortgage, and expected amounts.
- Transfer money to other users.
- Request money from other users.
- Currency conversion support.
-
Card Management:
- Apply for credit cards.
- Add and manage debit cards.
- View card details and transaction history.
- Toggle visibility of sensitive card information.
-
Profile Management:
- View and update personal information.
- Change password.
- Update address.
- Upload and change profile pictures.
- Two-factor authentication via email and phone.
-
Transaction Management:
- View detailed transaction history.
- Filter transactions by date and type.
- Export transaction history.
-
Notifications:
- Real-time toast notifications for various events (e.g., successful login, transaction alerts).
-
Responsive Design:
- Fully responsive layout compatible with desktop, tablet, and mobile devices.
- React: JavaScript library for building user interfaces.
- React Router: Declarative routing for React applications.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- Axios: Promise-based HTTP client for the browser and Node.js.
- React Toastify: Library for toast notifications.
- React Icons: Comprehensive set of icons for React.
- Node.js: JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express: Fast, unopinionated, minimalist web framework for Node.js.
- MongoDB: NoSQL database for storing user and transaction data.
- Mongoose: Elegant MongoDB object modeling for Node.js.
- JWT (JSON Web Tokens): For secure authentication.
- Nodemailer: Module for Node.js applications to send emails.
- Stripe API: For handling payment processing.
- Node.js and npm installed on your local machine.
- Clone the repository:
Install dependencies:
git clone https://github.com/kamrancodex/wallet-frontend.git cd wallet-management-system
Copy code
npm install
- Create a .env file in the root directory and add the necessary environment variables: env Copy code
REACT_APP_API_URL=http://localhost:8000/api/v1
- Start the development server: bash Copy code
npm run dev
Usage #: Create a new account by providing your email, password, and other required details. #: Log into your account using your email and password. Dashboard: View your account balance, recent transactions, and notifications. Manage Wallet: Transfer and request money, view balance charts. Manage Cards: Apply for new credit cards, add debit cards, and view card details. Profile Management: Update your personal information, change your password, and upload a profile picture.
- Cryptocurrency Integration
- Pay with Crypto
- Users can pay using cryptocurrencies.
- Crypto will be swapped first and then the payment will be processed.
- Crypto Buying
- Users can buy cryptocurrencies within the wallet.
- Crypto Swaps
- Swap one cryptocurrency for another seamlessly.
- Crypto Payments to Wallets and Banks
- Pay directly to any wallet or bank using cryptocurrencies.
- Real-time Exchange Rates
- Display real-time crypto exchange rates for accurate transactions.
- Pay with Crypto
-
Frontend
- React.js
- Tailwind CSS
- Axios for API calls
- React Router for navigation
- React Toastify for notifications
- JWT for authentication
-
Backend
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT for authentication
- Nodemailer for sending emails
- Axios for external API calls (e.g., exchange rates)
contributions to the Wallet Management System. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them. Push your changes to your fork. Open a pull request to the main repository. 4.License This project is licensed under the MIT License. See the LICENSE file for more details. Contact If you have any questions or suggestions, feel free to reach out: Email: najarkamran212@gmail.com
i will be adding more features to this project i have many ideas like somehow incorporating crypto and pay with crypto feature
https://github.com/Kamrancodex/backend-wallet