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

2.9 KiB

🚀 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)?