Files
dewemoji/admin-dashboard-plan.md
2026-02-12 00:52:40 +07:00

62 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Admin Dashboard Plan (Power Control)
This is the internal control panel used to keep Dewemoji **safe, clean, and reliable**.
## Purpose
- Moderate public keywords and votes.
- Manage licenses and activations.
- Monitor system health and data pipelines.
## Phase 1 (MVP — musthave)
### 1) Public keyword moderation
- View **public_pending** keyword queue.
- Approve / reject / block keyword.
- See emoji, language, proposer, vote counts.
### 2) Abuse controls
- Blocklist terms.
- Quick “hide” keyword from public search.
- Softban repeated abusive accounts.
### 3) License management
- Lookup by license key.
- See activations (device_id, product).
- Revoke activation or whole license.
### 4) System health
- Last JSON rebuild time.
- Dataset counts (emojis, keywords).
- API usage summary (daily).
### 5) Price control (Personal plan)
- Set IDR pricing for Monthly / Annual / Lifetime.
- Optional USD display override (approx only).
- Toggle payment rails (PayPal / QRIS).
- Effective date + change log (who changed, when).
## Phase 2 (Nicetohave)
- AI moderation log viewer.
- Turnstile failure analytics.
- Contributor leaderboard.
- Email queue status.
- Scheduled job history.
- Pricing experiment history.
## Suggested navigation
- **Dashboard** (health, quick stats)
- **Keywords** (pending + public)
- **Licenses**
- **Users**
- **System** (jobs, JSON rebuild, logs)
## Access control
- Admin login uses **magiclink/OTP session** + **role=admin** check.
- `X-Admin-Token` is **dev/internal only** (disable in prod).
- No IP allowlist required (dynamic ISP friendly).
- Log all actions (who approved / rejected / revoked).