Description
LearnHub stores mock payment records when students enroll in paid courses, but administrators currently have no React interface for reviewing these transactions.
Add a secure admin payment dashboard that displays non-sensitive transaction information and provides filtering and summary metrics.
Proposed Features
-
Add a Payments section to the admin dashboard.
-
Display summary cards for:
- Total mock transactions
- Successful transactions
- Failed or pending transactions
- Total recorded mock revenue
-
Display a transaction table containing:
- Transaction ID
- Student email
- Course title
- Amount
- Payment status
- Created date
-
Add search by student email, transaction ID, or course title.
-
Add filtering by payment status.
-
Add date-range filtering.
-
Add newest/oldest and amount sorting.
-
Add pagination.
-
Add loading, empty, and error states.
Security Requirements
- Protect the payment endpoint with admin authorization.
- Remove sensitive payment fields from API responses.
Backend Work
- Add or verify an admin-only payment-list endpoint.
- Return sanitized transaction objects.
- Add search, filtering, sorting, and pagination.
- Add aggregate summary values.
- Validate all query parameters.
Frontend Work
- Add a
PaymentRecords admin component.
- Add summary cards and a responsive transaction table.
- Add filter and search controls.
- Add a transaction-detail dialog containing only safe fields.
- Add proper loading and retry states.
Acceptance Criteria
@udaycodespace Kindly assign me this issue under ECSOC26
Description
LearnHub stores mock payment records when students enroll in paid courses, but administrators currently have no React interface for reviewing these transactions.
Add a secure admin payment dashboard that displays non-sensitive transaction information and provides filtering and summary metrics.
Proposed Features
Add a Payments section to the admin dashboard.
Display summary cards for:
Display a transaction table containing:
Add search by student email, transaction ID, or course title.
Add filtering by payment status.
Add date-range filtering.
Add newest/oldest and amount sorting.
Add pagination.
Add loading, empty, and error states.
Security Requirements
Never return or display:
If a card identifier must be displayed, show only a masked value such as:
Backend Work
Frontend Work
PaymentRecordsadmin component.Acceptance Criteria
@udaycodespace Kindly assign me this issue under ECSOC26