elmeg-demo/.specify/tasks/09_review_system.md

1,010 B

Task: Review System (Dedicated Model)

Objective

Implement a dedicated Review system, distinct from Comments. Reviews allow users to share their opinion with a rating, a "one-liner" blurb, and full text.

Steps

  • Backend:
    • Create Review model in models.py:
      • blurb: str (The one-liner/pullquote).
      • content: str (Full review text).
      • score: int (1-10 rating).
      • Foreign keys to User, Show, Venue, Song.
    • Create Review schemas in schemas.py.
    • Create routers/reviews.py for CRUD operations.
    • Generate and apply migrations.
  • Frontend:
    • Create ReviewCard component (displaying Blurb prominently).
    • Create ReviewForm component (inputs for Blurb, Content, Rating).
    • Integrate into Show Detail page (separate tab or section from Comments).

Acceptance Criteria

  • User can submit a Review with a blurb.
  • Reviews are displayed with the blurb highlighted.
  • Comments remain separate for discussion.