Some checks are pending
Deploy Elmeg / deploy (push) Waiting to run
# 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.
98 lines
2.9 KiB
Markdown
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)**?
|