Skip to content

Dive Route Annotations and Points of Interest #57

Description

@kargig

Overview

Implement annotation system for dive routes allowing users to mark specific points with comments and icons indicating points of interest such as caverns, big rocks, ship wrecks, car wrecks, airplane wrecks, and other underwater features.

Tasks

Core Annotations & Map System (100% Completed)

  • Design annotation interface for adding points of interest to dive routes
  • Implement point marking system on dive route maps
  • Create icon library for common underwater features (caverns, wrecks, rocks, etc.)
  • Add text comment functionality for each annotation point
  • Implement annotation storage and retrieval from database
  • Create annotation editing and deletion capabilities
  • Ensure mobile compatibility for annotation creation and viewing
  • Create annotation display on dive site and dive details pages

Advanced Features & Discovery (100% Completed)

  • Add annotation filtering and search by feature type (Exposed via Feature Pills in DiveRoutes page)

Declared Superfluous / Out of Scope (Skipped)

  • Implement annotation sharing and community features (Declined: Low ROI. Route-level likes and sharing already exist; annotating/sharing child elements introduces high schema complexity for minimal UX gain)
  • Add annotation validation and quality checks (Completed: Global XSS input sanitization and Pydantic GeoJSON shape validators are active)
  • Test annotation system performance with multiple points (Declined: Marker clustering is active on global maps but unnecessary for single-route maps, where it degrades sequential UX)

Data Portability & Integration (In Progress)

  • Implement annotation export functionality (Completed: GPX/KML waypoint export is fully integrated in RouteExportService)
  • Implement GPX & KML Route and POI Import functionality (Pending: Most important next step!)

Priority

Medium

Status

In Progress

Related Files

docs/development/dive-route-annotations-implementation.md

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions