A secure, role-based, and user-friendly frontend application for a Digital Wallet System (similar to bKash or Nagad), built with React.js, Redux Toolkit, and RTK Query. This frontend consumes a backend API to enable Users, Agents, and Admins to perform financial operations and manage wallets seamlessly.
The Digital Wallet Frontend provides a responsive and interactive interface for managing digital wallets. Users, Agents, and Admins can log in and perform financial operations, including deposits, withdrawals, sending money, and managing accounts, with role-based dashboards tailored to their permissions.
Frontend:
- React.js
- React Router
- Redux Toolkit & RTK Query
- TypeScript
- Tailwind CSS
Backend:
- Node.js / Express (REST API)
- MongoDB / Mongoose
- JWT + bcrypt for secure authentication
Accessible without login, including:
- Home Page — Landing page with a sticky navbar, hero banner, tagline, call-to-action buttons, footer, and responsive design.
- About Page — Story, mission, and team details.
- Features Page — List of features with visuals/icons.
- Pricing Page (Optional) — Service fees and subscription tiers.
- Contact Page — Inquiry form with simulated submission.
- FAQ Page — Common questions and answers.
- Login form with JWT-based authentication.
- Registration form with role selection (User or Agent).
- Role-based redirection after login.
- Persisted authentication state after refresh.
- Logout functionality.
- Overview with wallet balance, quick actions, and recent transactions.
- Deposit money (via agent cash-in simulation).
- Withdraw money.
- Send money to another user (search by phone/email).
- Transaction history with pagination and filtering by type/date.
- Profile management — update name, phone, and password.
- Overview with cash-in/out summary and recent activity.
- Add money to a user’s wallet.
- Withdraw money from a user’s wallet.
- View all transactions handled by the agent.
- Commission history (optional).
- Profile management — update personal info and password.
- Overview with total users, agents, transaction count, and volume.
- Manage users (view, block/unblock).
- Manage agents (approve, suspend).
- View all transactions with search and multiple filters (category, status, amount, etc.) and pagination.
- Adjust system fees/limits (optional).
- Profile management — update admin account settings.
- Role-based navigation menu.
- Loading indicators and global error handling.
- Form validations (required fields, numeric checks, positive amounts) and advanced filtering.
- Pagination for long lists.
- Dynamic data visualization: cards, bar charts, pie charts, tables.
- Toast notifications for success/error messages.
- Fully responsive design for all devices.
- Consistent margins, spacing, and color theme throughout the project.
- Clear typography and iconography.
- Skeleton loaders for data fetching to improve performance.
- Accessibility standards followed.
- Populated with realistic data for a professional finish.
- Clone the repository:
git clone https://github.com/nahidn228/Digital-Wallet-Client.git
cd Digital-Wallet-Client
npm install-
Public Access:
- Explore the landing pages such as
/,/about,/features, etc. - Learn about the service, team, and features without logging in.
- Explore the landing pages such as
-
Authentication:
- Register or log in with a User, Agent, or Admin account.
- Role-based redirection ensures each user sees only the relevant dashboard.
-
User Dashboard:
- Perform wallet operations: deposit, withdraw, send money.
- View transaction history with pagination and filters.
- Update profile information and change password securely.
-
Agent Dashboard:
- Manage cash-in/out for users.
- View all handled transactions and (optional) commission history.
- Update agent profile information and password.
-
Admin Dashboard:
- Monitor users, agents, and transactions.
- Block/unblock users or approve/suspend agents.
- Apply filters, search, and paginate through records.
- Update admin profile and settings.
For any inquiries or suggestions, you can reach me at:
- Email: nahidn228@gmail.com
- GitHub: https://github.com/nahidn228
- LinkedIn: https://www.linkedin.com/in/nahid-hasan01/
Special thanks to the Programming Hero Team for their guidance and resources during the project development.