26 lines
843 B
Markdown
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.
|