Dev (OpenClaw) c6b8826a66 fix(deploy): move rollback into deploy hook (S-3)
Remove dangerous git checkout $LAST_TAG from deployer prompt: it left the shared working copy in detached HEAD (breaking the next git pull) and did not roll back prod at all. Rollback now goes through the deploy hook (ssh ... bash ${HOOK} --rollback), which restores the app container to the previously running image. Narrow tools to Bash (git, curl) since the deployer no longer invokes docker directly.
2026-06-03 09:37:24 +03:00
2026-05-15 13:30:14 +03:00
2026-05-15 13:30:14 +03:00

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

Регион

ЦФО + Чувашия (расширение по запросу)

Быстрый старт

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/

Лицензия

Данные: © OpenStreetMap contributors (ODbL) Рельеф: NASA SRTM (Public Domain)

Description
Карта эндуро-маршрутов с рельефом и навигацией
Readme 3.3 MiB
Languages
Python 49.1%
JavaScript 39.7%
CSS 5.6%
HTML 4.3%
Lua 0.7%
Other 0.5%