Ваш велосипед заслуживает собственной истории. Соберите комплектацию, покажите характер сборки и сохраните маршруты, которые проехали вместе.
01 · Соберите свой гараж
Войдите в аккаунт и выберите «Велосипеды → Добавить велосипед». Укажите модель и год, заполните комплектацию, добавьте свои фотографии и детали. Мастер проведёт вас по четырём шагам. Сборку можно оставить приватной или показать на витрине.
02 · Меньше переписывания
Вставьте ссылку на страницу велосипеда в магазине или у производителя. Bike Resolver читает таблицы характеристик, структурированные данные и описания компонентов, показывает ход распознавания и предлагает фотографии товара. Поддерживаемые марки можно искать по модели и году. Проверьте результат: неполные и противоречивые данные остаются видимыми, а компоненты можно исправить вручную. Закрытые страницы и страницы с защитой могут не распознаться; ручное заполнение доступно всегда.
03 · Велосипед в движении
В меню «Покатушки» выберите добавление, загрузите GPX из трекера, проверьте маршрут и метрики, выберите свой велосипед и сохраните. Для публичной покатушки велосипед тоже должен быть публичным. При желании включите скрытие начала и конца маршрута и выберите радиус: карта скроет участки внутри этих зон, а дистанция останется полной. На странице велосипеда покатушки находятся рядом с комплектацией. В личном оформлении выберите карточки, раскрываемый список или автоматический режим: больше пяти покатушек показываются списком. Для карты доступны подложка OpenStreetMap, только линия или скрытие; масштабирование колесом включается отдельно. Доступны карта, время, расстояние, средняя скорость и набор высоты, если исходный файл содержит нужные данные. GPX — поддерживаемый способ импорта; автоматической синхронизации с трекерами пока нет.
04 · Что значит «крутой вел»
Заполненность показывает, насколько подробно оформлена сборка: учитываются фото и уникальные компоненты. Прокаченность — оценка по настроенным правилам комплектации, категории и, если включено администратором, веса и открытой цены. Это игровые показатели от 0 до 100, а не независимая экспертиза качества. Лайки и голосование за звания показывают мнение сообщества отдельно от этих оценок.
05 · Своя полка достижений
Публикуйте велосипеды, заполняйте сборки и участвуйте в жизни сообщества. Награды и прогресс до следующих целей собраны в «Аккаунт → Достижения». В «Рекордах» видны текущие лидеры; рекорд может перейти к другому участнику. История полученных достижений и действующий рекорд — разные вещи.
06 · Катайтесь в хорошей компании
Находите владельцев через витрину, подписывайтесь на их профили, ставьте лайки и обсуждайте велосипеды и покатушки. В аккаунте есть общая лента подписок, а в меню покатушек — только их маршруты. Колокольчик собирает реакции, ответы и новых подписчиков. Личных сообщений пока нет.
Под капотом
ColaBike — веб-приложение с отдельным сервисом распознавания велосипедов. Общие данные, личный гараж и публичные страницы используют одну модель велосипеда.
Интерфейс и API
Next.js 16 и React 19, JavaScript и CSS. Lucide отвечает за иконки, MapLibre GL — за интерактивные карты, Sharp — за обработку изображений. Интерфейс использует плотную компоновку, спокойные поверхности, тонкие границы и настраиваемую графику.
Три основных слоя
Браузер обращается к Next.js: приложение проверяет сессию, права и входные данные через Zod и работает с PostgreSQL. Для распознавания Next.js вызывает внутренний Bike Resolver: Node.js, TypeScript, Fastify и Cheerio. Resolver применяет несколько стратегий извлечения и хранит происхождение характеристик; языковая модель для парсинга не требуется.
Публичное и личное
Публичные ответы API содержат явно выбранные поля. Оригиналы GPX хранятся отдельно от публичных файлов; публичная карта строится с учётом выбранных зон приватности. Покатушка привязана к велосипеду владельца. Сервис распознавания проверяет внешние адреса и перенаправления и не обращается к локальной сети.
Настройки и проверка
Админка сгруппирована во вкладки «Система», «Дизайн», «Пользователи», «Механики» и «Каталог». Карты по умолчанию используют растровые тайлы OpenStreetMap; в системных настройках можно выбрать свой сервер тайлов или стиль MapLibre. Админка управляет справочниками, правилами оценок, оформлением, разделами меню, информацией о проекте и параметрами покатушек. Версионированные миграции обновляют БД. Docker Compose объединяет приложение, PostgreSQL и Resolver; GitHub Actions проверяет сборку, модульные и интеграционные тесты, а Playwright — Chromium и WebKit mobile.