claude-bot e982e18456
All checks were successful
CI / lint (pull_request) Successful in 5s
CI / test (pull_request) Successful in 9s
CI / build (pull_request) Successful in 2s
deploy(ET-013): tag v0.0.5 + deploy log (SUCCESS)
Pipeline: PR #26 merged → tag v0.0.5 on origin/main → deploy hook RC=0
→ healthcheck HTTP 200 → smoke PASS (index + 5 static assets + terrain
endpoints `hillshade`/`tri`). Deployed app.js (142 964 B) содержит ET-013
маркеры (interpolate, raster-opacity, ET-013) — zoom-aware paint реально
доехал, не остался image-кэшом.

Артефакты:
- CHANGELOG: ET-013 entries (главный feat + F-1 + F-2) перенесены из
  [Unreleased] в новый [v0.0.5] — 2026-06-04; добавлен placeholder-блок
  [v0.0.4] (ET-012 deploy log пишется в отдельном PR #25 / `deploy/ET-012-v0.0.4-log`,
  его entries я НЕ трогаю — остаются под [Unreleased]).
- docs/work-items/ET-013/14-deploy-log.md с YAML-frontmatter
  `deploy_status: SUCCESS` (читается оркестратором, см. QG check_deploy_status).

Refs: ET-013, PR #26 (merge be7a052), tag v0.0.5.
2026-06-04 10:15:00 +00: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.1 MiB
Languages
Python 49.1%
JavaScript 39.7%
CSS 5.6%
HTML 4.3%
Lua 0.7%
Other 0.5%