1. Web Route Builder Tool

The **SpotLocker Web Route Builder** ([`route-builder.tsx`](file:///d:/prfndr/spotlocker/admin_web/pages/route-builder.tsx)) allows admins and pro guides to sequence waypoints into navigable fishing routes prior to launching.

Admin Route Builder Interface Mockup
Figure 4.0: Admin Route Builder Dashboard showing satellite imagery lake canvas with plotted waypoints, coordinate data table, CSV batch importer button, and security audit log monitor.

Route Builder Capabilities

  • Sequential Waypoint Plotting: Click on satellite or topographic map layers to place waypoints in optimal navigation sequence.
  • Distance & Time Calculation: Real-time track distance calculation (nautical miles/km) and estimated vessel travel time at cruising speeds.
  • Depth Profile Graphing: Visual cross-section bathymetry depth graph along the planned navigation path.

2. Batch CSV Coordinate Importer

Populate new waypoint packs in seconds by uploading structured CSV dumps. The backend CSV ingestion engine validates headers, sanitizes coordinates, and generates spatial PostGIS points.

Required CSV Format Schema

name,latitude,longitude,depth_feet,structure_type,species,notes "Ledge Point 01",34.9864,-79.8870,24.5,"Rock Ledge","Largemouth Bass","Steep 15 to 25ft drop off" "Timber Field 04",34.9912,-79.8821,18.0,"Standing Timber","Crappie","Flooded cedar tops" "Brush Pile B12",34.9755,-79.8915,14.2,"Brush Pile","Bass/Sunfish","Oak brush tied to cinderblock"

3. Security Audit Log Monitoring

To preserve data integrity, the backend captures security audit logs in the database (`audit_logs` table) for suspicious activity ([`admin.py`](file:///d:/prfndr/spotlocker/backend/app/routers/admin.py)):

πŸ›‘οΈ Tracked Audit Events
  • too_many_devices: Triggered when a user attempts to pair more than 2 active devices.
  • failed_login: Failed authentication attempts.
  • license_violation: Mismatched or inactive hardware fingerprint trying to access coordinate APIs.
  • export_waypoints: Selective GPX export actions recording timestamp, user ID, and watermark signature.