Rebuild game reviews in Laravel #54

Open
opened 2024-01-14 14:49:43 -06:00 by jimmyb · 1 comment
Owner

The Game Reviews feature needs to be rebuilt in Laravel so users can write, edit, delete, browse, and publish reviews for games.

The current app has a public sidebar link to /reviews, an admin “Pending Game Reviews” placeholder, merge logic references for future review records, and Recent Gamer Updates support for game_review_published. This issue tracks building the full review surface, moderation workflow, public listing, and test coverage.

Scope

  • Authenticated game review creation, editing, and deletion.
  • Public reviews index page at /reviews, paginated.
  • Public single-review pages.
  • User profile sections for recently published reviews.
  • Game profile sections or links for reviews tied to a game.
  • Admin dashboard workflow for pending review moderation.
  • Recent Gamer Updates integration when a review is published.
  • Authorization, validation, visibility, empty states, and safe rendering.

Acceptance Criteria

  • Authenticated users can create a review for an active game.
  • Review authors can edit and delete their own reviews.
  • Users cannot edit or delete another user’s review unless an explicit admin/moderator policy is added.
  • Reviews require validated title/body/rating-style fields according to the chosen review schema.
  • Public /reviews shows published reviews newest-first and paginated.
  • Public review pages render the review author, game, platform, review content, score/rating where applicable, and published timestamp.
  • Draft, deleted, rejected, or pending reviews are not shown publicly.
  • Banned, deleted, or soft-deleted users do not expose public review content.
  • Deleted/disabled games do not expose public review pages or review list entries.
  • User profiles can show recent published reviews with clear empty states.
  • Admin users with the correct role can view pending reviews and approve/reject or otherwise moderate them.
  • Publishing a review records a game_review_published gamer update with working user/game/review links where available.
  • User-facing UI supports light/dark mode and follows the existing Laravel/Tailwind site layout patterns.

Test Coverage Required

  • Feature tests for review create, edit, delete, validation, ownership authorization, and guest restrictions.
  • Feature tests for public reviews index pagination, ordering, empty state, and filtering of draft/pending/deleted records.
  • Feature tests for single-review rendering, missing review, deleted user, banned user, and disabled/deleted game cases.
  • Feature tests for admin pending review moderation, role restrictions, approve/reject behavior, and public visibility changes.
  • Regression tests for profile recent-review display, sidebar /reviews active state, and Recent Gamer Updates game_review_published output.
  • Tests should use Pest and focused feature coverage.
  • Run the focused affected tests, then run vendor/bin/pint --dirty before closing the issue.

Progress Checklist

  • Public sidebar link to /reviews exists
  • Admin pending reviews placeholder route/view exists
  • Admin sidebar links to pending game reviews
  • Recent Gamer Updates presenter supports game_review_published
  • Add review persistence tables/models
  • Add routes and controllers/actions for review index, show, create, edit, update, and delete
  • Build public reviews index and single-review pages
  • Build authenticated review create/edit/delete UI
  • Build admin pending-review moderation workflow
  • Add recent published reviews to user profiles
  • Wire reviews into relevant game profile surfaces
  • Record review publish events in Recent Gamer Updates
  • Add tests for CRUD, visibility, moderation, profile display, activity updates, and authorization
  • Confirm the game reviews feature matches expected data coverage
The Game Reviews feature needs to be rebuilt in Laravel so users can write, edit, delete, browse, and publish reviews for games. The current app has a public sidebar link to `/reviews`, an admin “Pending Game Reviews” placeholder, merge logic references for future review records, and Recent Gamer Updates support for `game_review_published`. This issue tracks building the full review surface, moderation workflow, public listing, and test coverage. ## Scope - Authenticated game review creation, editing, and deletion. - Public reviews index page at `/reviews`, paginated. - Public single-review pages. - User profile sections for recently published reviews. - Game profile sections or links for reviews tied to a game. - Admin dashboard workflow for pending review moderation. - Recent Gamer Updates integration when a review is published. - Authorization, validation, visibility, empty states, and safe rendering. ## Acceptance Criteria - Authenticated users can create a review for an active game. - Review authors can edit and delete their own reviews. - Users cannot edit or delete another user’s review unless an explicit admin/moderator policy is added. - Reviews require validated title/body/rating-style fields according to the chosen review schema. - Public `/reviews` shows published reviews newest-first and paginated. - Public review pages render the review author, game, platform, review content, score/rating where applicable, and published timestamp. - Draft, deleted, rejected, or pending reviews are not shown publicly. - Banned, deleted, or soft-deleted users do not expose public review content. - Deleted/disabled games do not expose public review pages or review list entries. - User profiles can show recent published reviews with clear empty states. - Admin users with the correct role can view pending reviews and approve/reject or otherwise moderate them. - Publishing a review records a `game_review_published` gamer update with working user/game/review links where available. - User-facing UI supports light/dark mode and follows the existing Laravel/Tailwind site layout patterns. ## Test Coverage Required - Feature tests for review create, edit, delete, validation, ownership authorization, and guest restrictions. - Feature tests for public reviews index pagination, ordering, empty state, and filtering of draft/pending/deleted records. - Feature tests for single-review rendering, missing review, deleted user, banned user, and disabled/deleted game cases. - Feature tests for admin pending review moderation, role restrictions, approve/reject behavior, and public visibility changes. - Regression tests for profile recent-review display, sidebar `/reviews` active state, and Recent Gamer Updates `game_review_published` output. - Tests should use Pest and focused feature coverage. - Run the focused affected tests, then run `vendor/bin/pint --dirty` before closing the issue. ## Progress Checklist - [x] Public sidebar link to `/reviews` exists - [x] Admin pending reviews placeholder route/view exists - [x] Admin sidebar links to pending game reviews - [x] Recent Gamer Updates presenter supports `game_review_published` - [ ] Add review persistence tables/models - [ ] Add routes and controllers/actions for review index, show, create, edit, update, and delete - [ ] Build public reviews index and single-review pages - [ ] Build authenticated review create/edit/delete UI - [ ] Build admin pending-review moderation workflow - [ ] Add recent published reviews to user profiles - [ ] Wire reviews into relevant game profile surfaces - [ ] Record review publish events in Recent Gamer Updates - [ ] Add tests for CRUD, visibility, moderation, profile display, activity updates, and authorization - [ ] Confirm the game reviews feature matches expected data coverage
Codex changed title from Rebuild Game Reviews Component in Laravel to Rebuild game reviews in Laravel 2026-05-25 21:53:53 -05:00
Member

Added the public /reviews placeholder route and page so the existing sidebar link resolves while the full game reviews rebuild remains tracked here. Covered by a focused feature test for rendering and sidebar active state.

Added the public /reviews placeholder route and page so the existing sidebar link resolves while the full game reviews rebuild remains tracked here. Covered by a focused feature test for rendering and sidebar active state.
Sign in to join this conversation.
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MyVideoGameList/myvideogamelist.com#54
No description provided.