Files
thrilltrack-explorer/migration/PHASE_04_ENTITY_SERVICES.md

1.6 KiB

PHASE 4: Entity Services

Status: Not Started
Estimated Time: 25-30 hours
Priority: HIGH
Depends On: Phase 1 (Foundation)
Blocks: Phase 12 (Pages Migration)

🎯 Goal

Create service layer for all entities (Parks, Rides, Companies, Ride Models) to replace Supabase queries.

Tasks

Task 4.1: Parks Service (5h)

  • Create src/services/entities/parksService.ts
  • List parks with filters
  • Get park by ID/slug
  • Get park rides
  • Pagination support
  • Update hooks: useParks, useParkDetail, useParkRides

Task 4.2: Rides Service (5h)

  • Create src/services/entities/ridesService.ts
  • List rides with filters
  • Get ride by ID/slug
  • Get ride reviews/photos/credits
  • Update hooks: useRides, useRideDetail

Task 4.3: Companies Service (5h)

  • Create src/services/entities/companiesService.ts
  • List companies by type
  • Get company by ID/slug
  • Get company parks/rides/models
  • Update company hooks

Task 4.4: Ride Models Service (3h)

  • Create src/services/entities/rideModelsService.ts
  • List ride models
  • Get model by ID/slug
  • Get model installations

Task 4.5: Update All Entity Hooks (7h)

  • Replace all Supabase calls
  • Test caching behavior
  • Verify loading states

Completion Criteria

  • All entity queries use services
  • No supabase.from() calls remain
  • All hooks work correctly
  • Pagination works
  • Filtering works

⏭️ Next Phase

Once complete, proceed to Phase 5: Reviews & Social