Requirement Specification (summary)
| Category | Requirement | Priority | Duration | Acceptance Criteria |
|---|---|---|---|---|
| Auth | Invite-only sign-up with admin-generated codes; JWT-based login for users and admins. | High | 3 days | User cannot register without valid invite; tokens issued on login; token expires/refreshes as configured. |
| Profiles | User profiles store referral codes, earnings balance, streak status, and badges. | High | 2 days | Profile shows referral code, current streak, badges, and balance; updates reflect task completions. |
| Tasks | Daily tasks with expiration at midnight; actions include play song (configurable count), bonus plays, and sharing. | High | 4 days | Tasks visible for the day; expire at midnight; completion blocked after expiry. |
| Playback | Embedded Spotify/YouTube players track playback; task completes after min watch/listen threshold. | High | 5 days | Playback tracked and auto-completes when threshold met; prevents tab-hide cheating where possible. |
| Reviews | Mandatory review submission after task completion. | Medium | 2 days | Task not fully complete until review submitted; review stored with task completion. |
| Expired Tasks | Users can view past expired tasks (read-only). | Low | 1 day | Expired tasks listed with status; no further submissions allowed. |
| Rewards | Task-based rewards with configurable amounts; weekly earnings view. | High | 2 days | Reward added on verified completion; weekly summary shows totals per week. |
| Cashout | 30-day cashout cycle with minimum withdrawal of NGN 1,000 via Paystack. | High | 3 days | Cashout requests blocked if balance < 1000 NGN; cycle enforces 30-day rule; Paystack response logged. |
| Referrals | Referral bonuses for 7 days of referred user activity; referral codes per user. | Medium | 3 days | Referral bonus calculated for first 7 days of referred activity; bonus visible in earnings. |
| Gamification | Streak tracking (30-day perfect), leaderboards (weekly/monthly), and badges (time-limited and permanent). | Medium | 4 days | Streak resets on missed day; leaderboards update per cadence; badges awarded per defined rules. |
| Admin Tasks | Admin dashboard to create/manage tasks, users, invite codes, and review queues. | High | 4 days | Admins can CRUD tasks/users/invites; review queue visible with approve/reject actions. |
| Admin Reports | Admins can view and export reports (PDF/CSV) for users, tasks, earnings, withdrawals, referrals, and engagement. | High | 5 days | Export buttons generate PDF/CSV; data matches on-screen filters and date ranges. |
| Notifications | Push notifications for new tasks and key events via FCM; in-app notifications logged. | Medium | 3 days | Notification sent on task publish; delivery status recorded; users can see notification history. |
| Real-time | Socket.io updates for leaderboards and live task status. | Medium | 3 days | Leaderboard updates without refresh; task status changes push to connected clients. |
| Uploads | Media storage via AWS S3 or Firebase Storage for avatars and proofs. | Low | 2 days | Uploads stored and retrievable; URLs secured; size/type validation enforced. |
| Security | Rate limiting, input validation, JWT expiry/refresh, and role-based access control for admins. | High | 3 days | Protected routes reject invalid/expired tokens; admin features gated by roles; rate limits enforced. |
| Payments | Paystack integration for payouts; payment status tracking and reconciliation. | High | 3 days | Transactions logged with statuses; failed payments retriable; audit trail stored. |
| Social Proof | Instagram/TikTok submission flow with manual review queue; link validation and timestamp checks. | Medium | 3 days | User must submit valid link; system validates type/date; admin can approve/reject; status visible to user. |
| Accessibility | Responsive UI for mobile/desktop; supports latest Chrome/Safari/Firefox; simple, low-radius styling. | Medium | 2 days | Pages render without layout break on mobile and desktop; controls have minimal rounded corners. |
| Audit | Audit logs for admin actions, payouts, and task approvals. | Medium | 2 days | Log entries capture actor, action, timestamp, and target; exportable for review. |
6 weeks (42 days)
Note: Many requirements can be developed in parallel, allowing the project to complete within the 6-week timeline.