mirror of
https://github.com/pacnpal/thrillwiki_laravel.git
synced 2025-12-20 15:11:10 -05:00
75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
# GeocodeService Implementation Prompt
|
|
|
|
## Context
|
|
Continue ThrillWiki Laravel+Livewire development, focusing on implementing the GeocodeService for the Location System. The Location model and HasLocation trait are complete, providing the foundation for location management.
|
|
|
|
## Key Memory Bank Files
|
|
1. memory-bank/activeContext.md - Current progress and next steps
|
|
2. memory-bank/features/LocationSystem.md - System design and implementation plan
|
|
3. memory-bank/models/LocationModel.md - Location model documentation
|
|
4. memory-bank/traits/HasLocation.md - HasLocation trait documentation
|
|
|
|
## Current Progress
|
|
- ✅ Created Location model with polymorphic relationships
|
|
- ✅ Implemented HasLocation trait
|
|
- ✅ Set up location-based queries and calculations
|
|
- ✅ Added comprehensive documentation
|
|
|
|
## Next Implementation Steps
|
|
1. Create GeocodeService
|
|
- API integration
|
|
- Address lookup
|
|
- Coordinate validation
|
|
- Batch processing
|
|
- Cache management
|
|
|
|
2. Implement Location Components
|
|
- Map integration
|
|
- Location selection
|
|
- Search functionality
|
|
- Clustering support
|
|
|
|
## Technical Requirements
|
|
|
|
### GeocodeService Features
|
|
- Address to coordinates conversion
|
|
- Reverse geocoding (coordinates to address)
|
|
- Batch geocoding support
|
|
- Result caching
|
|
- Error handling
|
|
- Rate limiting
|
|
- Validation
|
|
|
|
### Integration Points
|
|
- Location model geocoding methods
|
|
- HasLocation trait helpers
|
|
- Component integration
|
|
- Cache system
|
|
|
|
### Performance Considerations
|
|
- Cache geocoding results
|
|
- Implement request batching
|
|
- Handle API rate limits
|
|
- Optimize response storage
|
|
|
|
## Development Guidelines
|
|
- Follow Memory Bank documentation practices
|
|
- Document technical decisions
|
|
- Update activeContext.md after each step
|
|
- Create comprehensive service tests
|
|
- Consider error handling and edge cases
|
|
|
|
## Project Stack
|
|
- Laravel for backend
|
|
- Livewire for components
|
|
- PostgreSQL for database (with PostGIS extension)
|
|
- Memory Bank for documentation
|
|
|
|
## PostgreSQL Spatial Features
|
|
- Using PostGIS for spatial operations
|
|
- Native coordinate type (POINT)
|
|
- Efficient spatial indexing
|
|
- Advanced distance calculations
|
|
- Geographic vs Geometric types
|
|
|
|
Continue implementation following established patterns and maintaining comprehensive documentation. |