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

69 lines
1.9 KiB
Markdown

# 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.