Giyapay QR is a standalone service for seamless QR-based payment management. Designed with a role-based system, it ensures smooth operations with real-time updates, payment tracking, and user management features. This document outlines features, technologies, user flow, and deployment details.
Key Features
Role-specific dashboards provide access to relevant features and data:
Overview of: Total users. Total branches. Total QR codes created under the merchant account. Manage Co-Admins and Branch Users (CRUD operations). Batch upload functionality to add users and branches via an Excel file. Access payment statuses and after-sales requests.
Overview of: Total users under assigned branches. Total branches managed. View, filter, and print transaction details. Access payment statuses and after-sales requests. Branch User Dashboard: Generate QR codes for branch-specific payments. Monitor payment statuses in real-time. Super Admin Dashboard: Create Admin accounts with merchant details. View the list of all Admin users. User Roles and Responsibilities
Create Admin accounts with merchant details. View the list of all Admin users. Admin: Manage Co-Admins and Branch Users with Branch (CRUD operations). Handle batch uploads for users and branches. Oversee QR code management and payment statuses for all branches. Co-Admin: View, filter, and print transaction details. Monitor payment statuses.
Generate QR codes for branch-specific payments. Monitor payment statuses in real-time.
Accessible to Admin, Co-Admin, and Branch Users (not available for Super Admin). Displays user-specific information: Name, email, role, branch (if applicable).
Accessible to Admin, Co-Admin, and Branch Users. Submit requests for post-payment assistance, such as refunds or transaction issues.
Admin can bulk-upload users or branches using an Excel file. The system validates the file for errors before processing. Enables efficient user and branch management.
React.js: User interface. Material UI (MUI): Modern design components. Vite: Fast development server. Socket.IO Client: Real-time updates.
Node.js & Express.js: Server-side logic. Sequelize ORM: Database management. MySQL: Data storage. Socket.IO: Real-time communication. JWT Authentication: Secure login and session management. Hosting
+-------------------+ +-------------------+ | Super Admin | | End User | | Creates Admin | | | +-------------------+ +-------------------+ | | v v +-------------------+ +-------------------+ | Admin | | Scans QR Code | | CRUD Co-Admins/ | ------------------------>| | | Branch Users | +-------------------+ +-------------------+ | | v v +-------------------------------+ +-------------------+ | Redirects to GiyaPay Gateway | | Co-Admin | +-------------------------------+ | View/Print | | | Transactions | <--------------------------+ +-------------------+ Real-Time Payment Status Updates | v +-------------------+ | Branch User | | Generate QR Codes | | & View Payments | +-------------------+
Payment statuses are updated in real-time using Socket.IO and visible to Admin, Co-Admin, and Branch Users.