feat: v1.1 competitive parity — proximity, directions, geocoding, CSV import #55
Reference in New Issue
Block a user
Delete Branch "feature/v1.1-parity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Closes the four critical feature gaps identified in competitive analysis (#54). All competitors (Ideal, JSP, Hotspots, Novacore) have these features — MokoSuite now matches them while remaining free/GPL and API-key-free.
1. Haversine Proximity Search
LocationsModelfilters by great-circle distance using the Haversine formulapopulateState()captures lat/lng/radius/radius_unit from search module formradius_unitfield bridges module params to component model2. Get Directions
?api=1link on location detail page — no API key needed3. Auto-Geocoding (Nominatim/OSM)
LocationModel::save()override detects empty coordinates with address present4. CSV Import
ImportController+ImportModel+ Import view with upload formLocationTable::bind()->check()->store()Files Changed (15)
Test Plan