elmeg-demo/.specify/tasks/05_social_features.md

26 lines
843 B
Markdown

# Task: Social Features (Comments & Ratings)
## Objective
Implement social interaction layers allowing users to comment on and rate content.
## Steps
- [x] **Database Schema**:
- [x] Create `Comment` model (user_id, content, timestamp, foreign keys to Show/Song/Venue).
- [x] Create `Rating` model (user_id, score, foreign keys).
- [x] **API Endpoints**:
- [x] POST /comments/ (Create comment)
- [x] GET /comments/{entity_type}/{entity_id} (List comments)
- [x] POST /ratings/ (Rate an item)
- [x] GET /ratings/average/{entity_type}/{entity_id} (Get average score)
- [x] **Frontend**:
- [x] Create `CommentSection` component.
- [x] Create `StarRating` component.
- [x] Integrate into Show Detail page.
## Acceptance Criteria
- Users can leave comments on a Show.
- Users can rate a Show.
- Average rating is displayed.