Product Requirements Document (PRD)
Feature: Points & Coins System for Drama-Otaku
---
1.
Objective
Implement a
Points & Coins system
to offset Gofile bandwidth costs while giving subscribers flexibility. The system enforces daily download limits, allows users to redeem points for additional GB, and provides a paid coin system as a fallback. VIP and Contributors have unlimited downloads.
---
2.
User Roles
  • Subscriber
- Daily download limit (configurable, e.g., 3 GB).
- Can earn points through site engagement.
- Redeem points for extra GB.
- Purchase and spend coins for extra GB.
  • VIP
- Unlimited downloads.
- Points/coins visible but not required.
  • Contributor
- Unlimited downloads.
- Points/coins visible but not required.
---
3.
Core Features
a. Wallet
  • Shows balances:
- Points
- Coins
- Daily Limit (remaining, used, total)
  • Activity Log:
- Earn points events (login, upload subtitles, contributions)
- Spend points/coins for GB
- Purchases of coin bundles
b. Download Flow
  • Before a file is downloaded, system checks user’s remaining GB:
- If within limit → allow download.
- If limit exceeded (subscribers only) → show
Download Popup
:
- Spend 100 points → +1 GB
- Spend 1 coin → +1 GB
- Buy coins (redirect to checkout)
c. Coin Store
  • Bundles available:
- $1 → 10 Coins (+10 GB)
- $5 → 60 Coins (+60 GB)
- $10 → 150 Coins (+150 GB)
  • Secure checkout with Stripe/PayPal.
d. Points System
  • Earning Points (example configuration):
- Daily login → +5 points
- Comment/post → +2 points
- Submit drama info → +10–20 points
- Upload subtitles → +50 points
  • Redeeming Points:
- 100 points = +1 GB
- 400 points = +5 GB bundle (optional)
---
4.
UI Components
#### Wallet View
  • Stats cards for Points, Coins, Today’s Limit, Remaining GB.
  • Buttons:
- Earn Points (stub/demo)
- Redeem 100 points → +1 GB
- Buy Coins (shortcut to store)
  • Activity log list with timestamped events.
#### Download Popup (Limit Reached)
  • Modal with options:
- Spend 100 points → +1 GB
- Spend 1 coin → +1 GB
- Buy coins (redirect)
#### Buy Coins View
  • Grid of coin bundles with Buy Now buttons.
  • Shows current coin balance.
---
5.
Technical Implementation
#### Backend
  • Tables Required:
-
users
(role, baseline daily limit)
-
wallets
(user_id, points, coins, daily_limit, used_gb, extra_points_gb, extra_coins_gb)
-
wallet_history
(id, user_id, type, amount, message, created_at)
  • APIs Needed:
-
GET /wallet
→ return wallet balances + history
-
POST /wallet/earn
→ award points
-
POST /wallet/redeem
→ spend points → +GB
-
POST /wallet/spend-coins
→ spend coins → +GB
-
POST /wallet/purchase
→ buy coin bundles (integrate Stripe/PayPal)
-
POST /download
→ attempt download (check and decrement quota)
Mockups of UI
---
6.
Acceptance Criteria
  • Subscribers:
- See daily limit and balances.
- Cannot download beyond daily cap without points/coins.
- Points can be earned and redeemed for GB.
- Coins can be purchased and spent.
  • VIP/Contributors:
- Always unlimited.
- Wallet still displays but without restrictions.
  • Activity log tracks all actions.
  • Secure checkout flow for purchasing coins.
---
7.
Future Enhancements
  • Admin panel to adjust point earning rates and coin pricing.
  • Bundle redemption with points (e.g., 400 pts = 5 GB).
  • Gamification badges for engagement (earning points).
---