Admin - Embu Past Papers Hub
Embu Past Papers Hub University of Embu - Smart Study Access
Home Login Subscription Library Rewards Profile Admin

Admin Dashboard (Prototype)

Subscriptions

0
Active subscriptions

Referrals

0
Total referrals

Most Viewed

No data yet.

Upload Approvals

No uploads waiting approval.

Backend Blueprint and Extension Notes

Open developer notes

Recommended stack: Node.js (Express) or Django + PostgreSQL + object storage (S3 compatible).

Core tables

Users, Papers, Subscriptions, Transactions, Rewards, Referrals, Uploads, AdminActions.

Key API endpoints

POST /auth/signup, POST /auth/login, POST /subscriptions/pay, POST /subscriptions/renew, GET /papers, GET /papers/{id}, POST /uploads, PATCH /uploads/{id}/approve, POST /referrals, GET /admin/metrics.

Secure PDF storage

Store PDFs in private bucket. Serve through signed URLs and stream in PDF.js with download button disabled. Add watermarks server-side.

Referral bonus extension

On each referral signup: increment referral_count. If referral_count % 3 == 0, add reward_days +7 and record in Rewards table.

Upload reward extension

After admin approves upload: add reward_days +2, mark reward source = upload_id. Reverse if upload rejected later.

M-Pesa Daraja integration

Use STK Push: initiate payment, store CheckoutRequestID, validate callback before extending subscription by 30 days.