Workout Tracker: веб-приложение для отслеживания тренировок с GPX

Workout Tracker: веб-приложение для отслеживания тренировок с GPX

Workout Tracker — это веб-приложение для отслеживания тренировок, ориентированное на бег и другие активности на основе GPX. Оно отлично подойдёт для личного использования или для семьи и друзей.

С приложением можешь загружать записи тренировок в форматах GPX, TCX или FIT, как вручную, так и через API. Оно позволяет вести учёт личной статистики, такой как вес и количество шагов, что может быть полезно для тех, кто хочет лучше контролировать свои физические нагрузки. Главное отличие от альтернатив — возможность самохостинга, что упрощает управление данными.

Проект написан на Go, и для запуска требуется настройка собственного окружения. На данный момент нет явных ограничений, но, как и в случае с любым самостроем, учти, что понадобится время для первоначальной настройки.

Проект jovandeginste/workout-tracker представляет собой веб-приложение для отслеживания тренировок, предназначенное для использования в личных целях или для общения с друзьями и семьей. Приложение ориентировано на бег и другие активности, основанные на GPX-файлах. Оно предназначено для самохостинга и включает все необходимые компоненты.

Функционал

Список ключевых возможностей приложения:

  • Загрузка записей о тренировках (файлы в форматах GPX, TCX или FIT). Это можно сделать вручную или автоматически через API (например, Fitotrack).
  • Отслеживание личной статистики за день (вес, количество шагов и др.), что также можно делать вручную или через синхронизацию по API.
  • Создание ручных записей о тренировках (например, силовые тренировки, плавание и др.).
  • Создание сегментов маршрутов для отслеживания прогресса, с попытками обнаружения совпадений с записями о тренировках.
  • Отслеживание используемого оборудования.
  • Анализ прогресса через статистику и графики.
  • Просмотр визуализации маршрутов с помощью тепловой карты, которая показывает, где вы занимались большинством тренировок.

Установка и запуск

Приложение можно установить и запустить несколькими способами. Один из наиболее популярных методов — использование Docker. Вот основные команды:

# Запуск последней сборки из GitHub Container Registry
docker run -p 8080:8080 -v .:/data ghcr.io/jovandeginste/workout-tracker:latest

# Для постоянного хранения данных и сессий
docker run -p 8080:8080 \
    -e WT_JWT_ENCRYPTION_KEY=my-secret-key \
    -v $PWD/data:/data \
    ghcr.io/jovandeginste/workout-tracker:master

Также можно запустить приложение нативно, скачав предсобранный бинарный файл или собрав его самостоятельно. Например:

# Для Linux x86_64
wget https://github.com/jovandeginste/workout-tracker/releases/download/v2.0.2/workout-tracker-v2.0.2-linux-amd64.tar.gz
tar xf workout-tracker-v2.0.2-linux-amd64.tar.gz
./workout-tracker

После запуска веб-сервера, приложение будет доступно по адресу http://localhost:8080.

Ограничения и примечания

Работа приложения требует ввода нескольких параметров конфигурации, наиболее важным из которых является JWT ключ шифрования. Если он не предоставлен, ключ будет сгенерирован случайным образом при каждом запуске сервера, что приведет к обнулению всех текущих сессий.

Кроме того, если ты планируешь использовать базу данных Postgres, важно правильно настроить параметры подключения.

Технологии

Приложение построено с использованием следующих технологий:

  • Язык программирования Go и ряд его библиотек, таких как Echo и Gorm.
  • HTML, CSS и JS, включая библиотеки Tailwind CSS и Lit.
  • Docker для контейнеризации.

Приложение использует OpenStreetMap для картографирования и Esri для геокодирования координат.

Сообщество

Для обсуждения и поддержки проекта доступен чат на платформе Matrix. Ты можешь задать вопросы и пообщаться с другими пользователями обсуждения по [этой ссылке](https://matrix.to/#/#workout-tracker:matrix.org).

Радар проекта: 65 из 100 — крепкий проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема65
  • Импульс 1 ≈ 1 звезда в месяц
  • Темп разработки 65 41 коммит за 12 недель
  • Зрелость 99 проекту 2 года, 76 релизов
  • Сообщество 60 48 участников, 56 форков
  • Свежесть 94 последний коммит — 11 дней назад
  • Быстрый старт 75 есть: команда установки, Docker
  • Готовность к продакшену 80 релиз v2.10.1, автосборка
  • Безопасность и доверие 25 своя лицензия (не из открытых)
  • Документация 94 README 17.2 тыс. знаков, 47 разделов, папка docs
  • Экосистема 59 5 подписчиков на обновления, 9 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: jovandeginste/workout-tracker →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте