elmeg-demo/PLATFORM_EXPANSION_SPEC.md
fullsizemalt e683398364
Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
Merge branch 'main' into production
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2025-12-21 02:49:52 -08:00

98 lines
2.9 KiB
Markdown

# 🚀 Elmeg Platform Expansion Spec
*Moving from "Utility" to "Community"*
## 1. Module: The "Social Loop" (Interactions & Notifications)
*Objective: Increase user retention by creating feedback loops.*
### A. "Likes" & Reactions
**Problem:** Users can only write text. No lightweight way to acknowledge others.
**Solution:** Implement a polymorphic `Reaction` system.
* **Backend:**
* Create `Reaction` model (`user_id`, `entity_type`, `entity_id`, `emoji`).
* API: `POST /react`, `DELETE /react`.
* **Frontend:**
* Add "Heart" / "Like" button to Reviews and Comments.
* Display count next to the button.
### B. Threaded Conversations
**Problem:** Comments are linear. Replies get lost.
**Solution:** infinite nesting (or shallow nesting) for comments.
* **Backend:** Add `parent_id` to `Comment`.
* **Frontend:** "Reply" button reveals nested input. indent child comments.
### C. The Notification Center
**Problem:** Users don't know when someone interacts with them.
**Solution:** A centralized inbox for alerts.
* **Triggers:**
* User B replies to User A -> Notify User A.
* User B likes User A's review -> Notify User A.
* **Backend:** `GET /notifications` (paginated), `POST /notifications/{id}/read`.
* **Frontend:**
* Bell icon in header with red dot badge.
* Dropdown or dedicated page listing alerts.
* Clicking clears "unread" state and navigates to content.
---
## 2. Module: The "Safe Space" (Moderation)
*Objective: Protect the community as it scales.*
### A. Reporting System
**Problem:** Bad actors can post spam/abuse.
**Solution:** Crowd-sourced flagging.
* **Frontend:** "Flag" icon on every user-generated content (UGC).
* Modal: Select reason (Spam, Harassment, Spoiler).
* **Backend:** `POST /reports`.
### B. Admin Dashboard
**Problem:** Reports go into a black hole (database only).
**Solution:** A UI for Moderators.
* **Route:** `/admin/reports` (Protected: Role >= Moderator).
* **Features:**
* List pending reports.
* "Resolve" (Delete Content + Warn User).
* "Dismiss" (False Alarm).
---
## 3. Module: The "Velvet Rope" (User Journey & Identity)
*Objective: Make the user feel special and secure.*
### A. Onboarding Flow
**Problem:** Registration dumps user on the homepage with no direction.
**Solution:** A "Welcome Wizard".
1. **Welcome:** "Thanks for joining the flock!"
2. **Setup:** Upload Avatar (or generate one).
3. **Taste:** "Pick your favorite 3 shows" (seeds recommendation engine later).
### B. Identity Verification
**Problem:** Anyone can sign up with fake emails.
**Solution:** Email Verification (optional for MVP, maybe "Verified User" badge).
---
## 4. Proposed Execution Order
1. **Phase 1: Notifications & Reactions** (High visibility, high engagement).
2. **Phase 2: Moderation** (Essential before public launch).
3. **Phase 3: Deep User Journey** (Polish).
**Action Item:**
Does this spec cover the requested scope? Shall we begin with **Phase 1 (Notifications)**?