Files
enduro-trails/docs/work-items/ET-008/00-business-request.md

3.7 KiB
Raw Blame History

type, work_item_id, title, created_at, source, requester
type work_item_id title created_at source requester
business-request ET-008 GPS-треки с публичных платформ на карте 2026-06-01 plane Слава

Бизнес-запрос — ET-008

Исходная формулировка

Хочу видеть на карте GPS-треки с публичных платформ (OSM, чужие ссылки на GPX), а не только локальные файлы. Минимум: вставить ссылку на GPX-файл — увидеть трек. Дальше — поиск чужих публичных треков в видимой области карты, чтобы перед поездкой посмотреть, кто и где ездил.

Контекст и ограничения

  1. ET-006 уже даёт инфраструктуру отображения GPX-треков (модель, рендеринг, sheet, профиль высот). Эту инфраструктуру переиспользуем.
  2. В стеке нет авторизации пользователей и БД с user accounts — платформы с обязательным OAuth (Strava, Komoot) вне scope MVP.
  3. Платный API Wikiloc — вне scope MVP.
  4. CORS не позволяет браузеру тянуть GPX напрямую с большинства платформ — нужен прокси через FastAPI.
  5. Rate limits публичных API (OSM, Overpass) — нужен server-side кэш.

Решения аналитика (по умолчанию, при отсутствии явных уточнений)

Вопрос Решение Обоснование
Платформы MVP OSM Public GPS Traces + универсальный GPX-по-URL Открытые API без авторизации, бесплатные, покрывают сценарии «свой трек по ссылке» и «чужие треки рядом»
Сценарии (1) импорт по URL; (2) bbox-поиск треков в видимой области Минимальный полезный набор, не требующий новых разделов UI
Хранение Сессия (как ET-006) + server-side LRU-кэш на бэкенде Не вводим БД и аккаунты; кэш защищает от rate limits
Auth Нет Все запросы — публичные данные
Платформы post-MVP Wikiloc API, Strava OAuth, Komoot OAuth Будут отдельными work item, когда появится система аккаунтов

Уточнения

  1. URL-импорт должен работать с любой прямой ссылкой на .gpx-файл (GitHub raw, gist, личный сайт, веб-сервер пользователя).
  2. Поиск по OSM-трекам ограничен видимой областью карты (bbox). Глобальный поиск не требуется.
  3. Загруженные с публичных платформ треки попадают в тот же sheet #sheet-gpx, что и локальные GPX, и ведут себя идентично (статистика, профиль высот, удаление, fit bounds, переживание смены стиля).
  4. Источник трека (URL / OSM trace id) сохраняется в модели и отображается в карточке трека для пользователя.
  5. Кэш на сервере — TTL 24 часа, не персистентный (in-memory).