Files
thrillwiki_laravel/memory-bank/prompts/LocationSystemContinuation.md

1.9 KiB

ThrillWiki Development Continuation Prompt

Continue the development of ThrillWiki's Location System implementation. The project is a Laravel+Livewire application for managing theme parks, currently being converted from Django.

Current Progress

We have:

  1. Documented the Location System design in memory-bank/features/LocationSystem.md
  2. Created the locations table migration in database/migrations/2024_02_23_235000_create_locations_table.php

Next Implementation Steps

  1. Create the Location model with:

    • Polymorphic relationships
    • Coordinate handling
    • Geocoding integration
    • Distance calculations
  2. Implement the HasLocation trait for:

    • Location relationships
    • Coordinate accessors
    • Distance methods
    • Map integration
  3. Create the GeocodeService for:

    • Address lookup
    • Coordinate validation
    • Batch processing
    • Cache management
  4. Implement the LocationSearchService for:

    • Distance-based search
    • Boundary queries
    • Clustering support
    • Performance optimization
  5. Create Livewire components for:

    • Location selection
    • Map integration
    • Address search
    • Coordinate picking

Project Structure

Key files and directories:

  • memory-bank/features/LocationSystem.md - System documentation
  • app/Models/ - Model implementations
  • app/Traits/ - Shared traits
  • app/Services/ - Service classes
  • app/Livewire/ - Livewire components
  • resources/views/livewire/ - Component views

Development Context

The system uses:

  • Laravel for backend
  • Livewire for components
  • MySQL for database
  • Memory Bank for documentation

Next Steps

  1. Create the Location model
  2. Implement HasLocation trait
  3. Develop geocoding service
  4. Build search functionality
  5. Create Livewire components

Please continue implementing these features following the established patterns and maintaining comprehensive documentation in the Memory Bank.