docs(ET-008): clean business request + merged analyst prompt fix
All checks were successful
CI / lint (push) Successful in 4s
CI / test (push) Successful in 5s
CI / build (push) Successful in 2s

This commit is contained in:
claude-bot
2026-06-01 11:29:29 +00:00
parent e8dbea6f13
commit dc557ab884

View File

@@ -1,51 +1,26 @@
---
type: business-request
work_item_id: ET-008
title: "GPS-треки с публичных платформ на карте"
created_at: 2026-06-01
source: plane
requester: Слава
---
# Business Request: GPS-треки с публичных платформ на карте
# Бизнес-запрос — ET-008
## Цель
Отобразить на карте enduro-trails реальные GPS-треки с публичных платформ, чтобы видеть дороги/тропы которых нет на OSM, понимать где реально ездят, и выявлять мёртвые дороги.
## Исходная формулировка
## Требования
- Отдельные линии треков (не heatmap)
- Регион: ЦФО + Чувашия (расширяемо на другие регионы РФ)
- Фильтрация по типу активности (enduro/moto/offroad приоритет)
> Хочу видеть на карте GPS-треки с публичных платформ (OSM, чужие ссылки
> на GPX), а не только локальные файлы. Минимум: вставить ссылку на
> GPX-файл — увидеть трек. Дальше — поиск чужих публичных треков в
> видимой области карты, чтобы перед поездкой посмотреть, кто и где ездил.
## Источники треков (РФ покрытие)
- Wikiloc (enduro/Russia раздел, GPX)
- Offmaps.ru (offroad специализация)
- Тропинки.ру / ttrails.ru (GPX/KML, эндуро-категория)
- EnduroRussia.ru (GPX по регионам, фильтр сложности)
- OSM GPS Traces (публичные, API)
- Nakarte.me (агрегатор)
- Komoot (API)
- Strava Metro (для валидации популярности)
## Контекст и ограничения
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).
## Функционал
1. Сбор GPX-треков по bbox региона из источников
2. Хранение с дедупликацией и метаданными (источник, тип активности, дата, сложность)
3. Визуализация отдельными линиями на карте (цвет по источнику или типу)
4. Фильтр по типу активности и источнику
5. Расширяемость на новые регионы