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).

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

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

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

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