# Enduro Trails 🏍️ OSM-карта с фокусом на грунтовые дороги для построения эндуро-маршрутов. ## Что это Обычные карты оптимизированы под автомобили — асфальт яркий, грунтовки не видны. Enduro Trails переворачивает логику: **грунтовки и тропы — главный слой**, асфальт — тусклый фон. Приложение помогает: - Найти грунтовые дороги в любом районе - Построить маршрут с максимумом грунта и минимумом асфальта - Оценить сложность (grade 1-5, покрытие, уклон) - Найти живописные места (озёра, виды, руины, броды) - Загрузить свой GPX-трек и просмотреть его с профилем высот и статистикой - Экспортировать маршрут в GPX для навигатора ## Демо https://openclaw.mva154.duckdns.org/enduro/ ## Фичи - 🗺️ **Карта грунтовок** — MapLibre GL JS, кастомный стиль, тёмная/светлая тема - 🛤️ **Маршрут** — до 5 альтернатив с разным балансом грунт/асфальт, промежуточные точки - ✨ **Красивый маршрут** — замкнутый круг через живописные POI - 🔗 **Связка** — соединить два трека грунтовками - 🔍 **Разведка** — статистика грунтовок в радиусе 20/50/100 км - 📏 **Линейка** — измерение расстояний на карте - 📍 **Метки** — сохранение точек интереса - 🏔️ **Рельеф** — гипсометрия + hillshade (SRTM 30м) - 📊 **Статистика** — % грунта/асфальта, время, дистанция - 📂 **GPX загрузка** — импорт треков с профилем высот, статистикой и сохранением при смене стиля карты - 📥 **GPX экспорт** — трек + waypoints для навигатора - 🌙 **Тёмная тема** — авто (по закату), ручная, синхронизация карты и UI ## Стек | Компонент | Технология | |-----------|-----------| | Frontend | MapLibre GL JS + vanilla JS | | Backend | Python 3.12 + FastAPI + uvicorn | | БД | SQLite + Spatialite (1.1M треков, 14K POI) | | Роутинг | OSRM с кастомным эндуро-профилем | | Тайлы | Self-hosted raster (terrain, hillshade, TRI) | | Контейнеризация | Docker + Compose | | CI | Gitea Actions | ## Регион ЦФО + Чувашия (расширение по запросу) ## Быстрый старт ```bash make dev # поднять локально (Docker Compose) make test # запустить тесты make lint # линтеры make build # собрать Docker-образ ``` ## Структура ``` src/api/ — FastAPI backend (маршруты, тайлы, поиск) src/web/ — фронтенд (MapLibre, UI) tests/ — тесты (unit, integration, e2e) docs/ — документация, ADR, work-items scripts/ — утилиты migrations/ — миграции БД .openclaw/ — system prompts агентов ``` ## Фазы | # | Название | Описание | |---|----------|----------| | PH-1 | MVP | Карта грунтовок + MVT тайлы | | PH-2 | Routing | OSRM роутинг + базовый UI | | PH-3 | Smart Route | Альтернативы, статистика, GPX | | PH-4 | Advanced Routing | Красивый маршрут, связка, разведка | | PH-5 | Redesign | Тёмная тема, mobile UI, UX | | PH-6 | Terrain | Hillshade + гипсометрия + TRI | | PH-7 | Barriers | Шлагбаумы, тротуары, слой препятствий | | PH-8 | Elevation Profile | Профиль высот, режим «Горка» | | PH-9 | PWA | Офлайн режим | Детали каждой фазы: [docs/phases/](docs/phases/) ## Лицензия Данные: © OpenStreetMap contributors (ODbL) Рельеф: NASA SRTM (Public Domain)