Документация¶
Grom — self-hosted трекер тренировок с опциональным слоем федерации ActivityPub. Записывайте или импортируйте тренировки, управляйте снаряжением, подписывайтесь на других спортсменов (локальных или федеративных), ставьте лайки и комментируйте активности и просматривайте социальную ленту — на инфраструктуре, которую контролируете вы.
Сервер — один бинарник на Go; Flutter-клиент поставляется как встроенный веб-UI и как Android-приложение.
Возможности¶
- Тренировки — создание и редактирование активностей со статистикой, заметками, медиа и превью карты
- GPS-треки — импорт GPX и FIT; запись в реальном времени на Android
- Снаряжение — велосипеды, обувь и другое снаряжение, привязанное к тренировкам
- Социальная лента — подписки на пользователей и их тренировки в одной ленте
- Лайки — лайк чужих активностей, счётчики и список лайкнувших; федеративные
Like/Undoпри включённом ActivityPub - Комментарии — комментарии к своим и чужим активностям (добавление/список/удаление); федеративные
Create/DeleteNote при включённом ActivityPub - Федерация — опциональный ActivityPub, чтобы инстансы могли подписываться друг на друга
- Импорт Strava — массовый импорт ZIP-экспорта данных Strava
- Health Sync — импорт активностей из Google Drive на Android (экспорт Health Sync)
- API-токены — персональные токены с областями доступа (
grom_pat_…) для тренировок и снаряжения - Клиенты — один Flutter UI в браузере (отдаётся сервером) и как Android APK
- Локали — английский, русский и немецкий в Flutter UI
Обзор экранов: Обзор для пользователя. Сборка и запуск: Установка и запуск. Исходники и быстрый старт: README репозитория.
Я хочу…¶
Пользователь¶
| Цель | Страница |
|---|---|
| Узнать, что умеет клиент (тренировки, лайки, комментарии, запись, снаряжение) | Обзор для пользователя |
| Сбросить забытый пароль (если оператор включил почту) | Обзор — Вход и сброс пароля |
| Войти / зарегистрироваться, когда на инстансе включена captcha | Обзор — Вход и сброс пароля |
| Пользоваться Grom в браузере (тот же UI, что на Android) | Откройте базовый URL сервера после установки; см. Обзор для пользователя |
| Импортировать экспорт Strava (UI + как работает импорт) | Массовый импорт Strava |
| Импортировать активности Health Sync из Google Drive (Android) | Health Sync + Google Drive |
| Создать API-токены для скриптов и внешних приложений | API-токены Grom |
| Удалить свой аккаунт | Удаление аккаунта Grom |
Администрирование¶
| Цель | Страница |
|---|---|
| Собрать и запустить сервер | Установка и запуск |
| Настроить TLS, хранилище, федерацию, логирование, mailer / сброс пароля, captcha | Конфигурация |
Справка¶
| Тема | Страница |
|---|---|
| Сопоставление колонок ZIP Strava и поведение импорта | Массовый импорт Strava |
| Импорт Health Sync из Google Drive (Android-клиент) | Health Sync + Google Drive |
| Полный аннотированный конфиг | config.full.yaml |
| HTTP API (Swagger UI) | На работающем сервере: /api/docs/ (например http://localhost:8080/api/docs/); исходники OpenAPI в api/docs/ |
| Политика конфиденциальности | Privacy Policy |