Разработка мобильного приложения для скалолазания
Скалолазное приложение — это специализированная база маршрутов (trailhead engineers называют их «route») с жёсткой системой категоризации сложности, картой скал и скалодромов, дневником восхождений и социальным слоем. Технически пересекается с хайкинг-приложениями, но акцент принципиально другой: не трекинг пути, а каталог конкретных скальных маршрутов с детальными данными о прохождении.
База маршрутов: структура данных
Каждый маршрут (route): название, координаты скалы (не трека, а точки старта), система оценки сложности (UIAA, французская, Yosemite Decimal System), длина в метрах, количество верёвок, тип (sport/trad/bouldering/multi-pitch), ориентация (N/S/E/W — важно для температуры поверхности), первопрохождение (имя, год), описание прохождения (beta), фото маршрута с разметкой линии.
Открытые данные: 27crags.com и theCrag.com предоставляют API — можно использовать как базу с дополнением собственного UGC. Лицензия theCrag позволяет некоммерческое использование.
Фото маршрута с рисованной линией прохождения: на клиенте Canvas/CALayer + жест UIPanGestureRecognizer для рисования пути по фото. Сохраняется как overlay (отдельный SVG Path поверх фото) — можно редактировать.
Система оценки и фильтры
Сложность — критичный параметр. Таблица перевода между системами: UIAA 7+ = fr 7b = YDS 5.12b. Хранить в числовом поле difficulty_numeric (float) для сортировки и фильтрации, рядом — строковое представление для каждой системы. Пользователь выбирает предпочитаемую систему в настройках, приложение конвертирует.
Фильтр при поиске: диапазон сложности, тип маршрута, ориентация, длина, высота. На iOS — UICollectionView с compositional layout для фильтра. На Android — FlowRow чипов в Material3.
Дневник восхождений
Логбук: дата, маршрут, тип прохождения (redpoint/onsight/flash/attempt), партнёр, заметки. Статистика: всего метров, распределение по сложности (гистограмма), прогресс redpoints за год.
Wishlist маршрутов — «хочу пройти». Отметка маршрутов флагами: done/project/tried. Gamification-слой: достижения («первый 7а», «100 маршрутов», «все маршруты Крыма»).
Карта скал и скалодромов
Два режима карты: outdoor (скальные районы, точки старта маршрутов) и indoor (скалодромы с адресами, расписанием, ценами).
Кластеризация скал на малых зумах — MapboxAnnotationOrchestrator с кластеризацией. Тап на кластер — zoom in. Тап на скалу — sheet с превью (количество маршрутов, диапазон сложности, фото).
Офлайн-карта — нужна. Скалолазы часто едут в места без сети. MBTiles для конкретного района скачивается заранее (20-50 МБ на скальный район).
Сообщество
Лента восхождений — друзья поделились redpoint. Комментарии к маршрутам (условия, «ключ сместился», «болт разбит»). Актуальность условий — отдельный тип записи с TTL: «маршрут мокрый» теряет актуальность через 72 часа.
Сроки
Базовое приложение (каталог маршрутов, фильтры, карта, дневник) — 6-10 недель. С UGC-фото с разметкой линий, офлайн-картами и полным сообществом — 3-5 месяцев. Стоимость рассчитывается индивидуально.







