Repository navigation
Add ratings and reviews #40
Copy link
Copy link
Closed
Description
Summary
Add ratings and reviews feature to Android client. Currently not implemented on any platform except Web.
Required Work
1. Data Models
- Rating (user_id, content_id, score 1-10 or thumbs, timestamp)
- Review (user_id, content_id, title, body, rating, timestamp, helpful_count)
- AggregateRating (content_id, average_score, total_ratings, distribution)
2. API Integration
- GET
/api/v2/ratings/{content_id}- get aggregate + user's rating - POST
/api/v2/ratings- submit/update rating - DELETE
/api/v2/ratings/{content_id}- remove rating - GET
/api/v2/reviews/{content_id}- list reviews (paginated) - POST
/api/v2/reviews- submit review - PATCH
/api/v2/reviews/{review_id}- update review - DELETE
/api/v2/reviews/{review_id}- delete review - POST
/api/v2/reviews/{review_id}/helpful- mark helpful
3. UI Components
- RatingDisplay - show aggregate stars/score + user's rating
- RatingInput - star picker or thumbs up/down
- ReviewList - paginated list with sorting (recent, helpful, rating)
- ReviewCard - display single review with author, rating, body
- ReviewComposer - write/edit review sheet
4. Integration Points
- TitleDetailScreen - show aggregate rating + user's rating
- Episode list - show episode ratings
- Profile - show user's ratings/reviews
Files to Modify/Create
androidApp/src/main/kotlin/org/prairieserver/prairie/android/ui/screens/detail/TitleDetailScreen.ktandroidApp/src/main/kotlin/org/prairieserver/prairie/android/ui/screens/detail/RatingDisplay.kt(NEW)androidApp/src/main/kotlin/org/prairieserver/prairie/android/ui/screens/detail/RatingInput.kt(NEW)androidApp/src/main/kotlin/org/prairieserver/prairie/android/ui/screens/detail/ReviewList.kt(NEW)androidApp/src/main/kotlin/org/prairieserver/prairie/android/ui/screens/detail/ReviewComposer.kt(NEW)androidTvApp/src/main/kotlin/org/prairieserver/prairie/tv/ui/screens/detail/- TV variantsshared/src/commonMain/kotlin/org/prairieserver/prairie/model/rating/- NEW: shared models
Reference Implementation
- Web:
prairie-server/web/src/components/RatingDisplay.tsx,ReviewList.tsx - Server:
internal/apiv2/ratings.go,internal/apiv2/reviews.go
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
JonahMMay commentedon Oct 12, 2026
Implemented in #42: the title detail screen shows the new community (aggregate) rating, 1–5 stars averaged across profiles and shown from 3 ratings up (server: Prairie-Server/prairie-server#229). Reviews aren't included because the server has no reviews API.