Об этом проекте

BikeBuddy — это персональное веб-приложение для ведения журнала поездок. Его цель проста: ваши поездки, ваши маршруты, ваши воспоминания. Пользователи загружают GPX-треки, экспортированные из любого устройства (велосипедного или мотоциклетного), и приложение отображает их в виде маршрутов на карте. К турам можно прикреплять фотографии, превращая необработанные данные трека в полноценный отчет с изображениями. Что предоставляет репозиторий В README описывается фронтенд, предоставляемый как статический контент через GitHub Pages, в сочетании с бессерверным бэкендом на Azure Functions v4. Для хранения данных используется Cosmos DB, а медиафайлы, такие как фотографии, должны храниться в Blob Storage, согласно технологическим бейджам. Требуется Node.js версии 24 или новее. Скриншот в документации демонстрирует вид карты с маршрутами поездок и боковой панелью тура. Карты отрисовываются с помощью Leaflet, а валидация осуществляется через Zod. Весь стек базируется на JavaScript и TypeScript. Начало работы Все вспомогательные скрипты запускаются через единую точку входа: выполните shell-скрипт buddy.sh, указав группу и команду. Флаг help выводит список всех доступных опций. Две задокументированные команды охватывают основной путь: команда настройки разработки (development setup), которая устанавливает инструменты и шаблоны конфигурации, и команда запуска разработки (development start-all), которая поднимает весь локальный стек на порту 4280 localhost. Для настройки должен быть запущен Docker. Документация Полная документация находится в папке docs и организована в соответствии с фреймворком Diátaxis: - Tutorial: пошаговое руководство по началу работы. - How-to guides: руководство пользователя и руководство разработчика, охватывающее локальную разработку, аутентификацию и токены, а также развертывание, плюс отдельное руководство по инфраструктуре. - Reference: страницы по архитектуре и конфигурации. - Explanation: проектные решения и отчет о затратах. Руководство по контрибьютингу описывает соглашения для участников и упоминается в README. Инфраструктура и инструменты Инфраструктура описана как код (IaC) и управляется с помощью OpenTofu; в качестве облачного провайдера выбран Azure. Развертывание статической части происходит через GitHub Pages с помощью рабочих процессов GitHub Actions. Инструменты качества и безопасности, видимые в бейджах README: - ESLint и Prettier для линтинга и форматирования. - Vitest для модульных тестов с отчетами о покрытии через Codecov. - Playwright для сквозных (e2e) тестов, согласно карте технологий. - Stryker для мутационного тестирования с публичным отчетом на дашборде. - OpenGrep для статического анализа безопасности приложений (SAST), zizmor для укрепления GitHub Actions и сканирование кода CodeQL. - pre-commit хуки для локальных проверок. - Бейдж gate workflow, указывающий на наличие CI-контроля качества. Лицензирование и статус проекта Проект выпущен под лицензией MIT. В README есть ссылка на бейдж последнего коммита, указывающий на недавнюю активность, однако здесь не приводятся утверждения о зрелости релизов, требованиях к хостингу помимо задокументированных или характеристиках производительности. Кому это может подойти Тем, кто хочет иметь самостоятельно управляемый архив поездок с визуализацией на карте и прикреплением фотографий, и кто готов развернуть стек на базе Azure или запустить задокументированную локальную среду разработки на Docker. Разработчики, ищущие рабочий пример сочетания статического фронтенда с Azure Functions и Cosmos DB, а также обширный инструментарий тестирования и безопасности, также могут найти этот репозиторий полезным в качестве справочника.