Workout Challenge: веб-приложение для соревнований по физической активности

Workout Challenge: веб-приложение для соревнований по физической активности

Workout Challenge — это веб-приложение для соревнований по физической активности, которое можно использовать с друзьями и коллегами. Оно позволяет выбрать любые метрики, например, километры, минуты или калории, и гарантирует сохранение личной информации.

Проект подходит для создания дружеских конкурсов и мотивирует к активности: можно вручную добавлять данные о тренировках или подключить бесплатный аккаунт Strava для автоматического импорта. Удобная система начисления очков и возможность настройки индивидуальных целей делают соревнования гибкими. Также доступны функционалы ведения статистики, рейтингов и уведомлений по электронной почте.

Проект написан на JavaScript и работает в браузере, нет информации о зависимостях или ограничениях, так что можно запускать на любом устройстве. Имей в виду, что он всё еще в разработке, потенциальные баги не исключены.

Проект Workout Challenge представляет собой веб-приложение, которое позволяет пользователям соревноваться с друзьями или коллегами в достижении определённых фитнес-целей. Участники могут добавлять свои тренировки вручную или подключать бесплатный аккаунт Strava для автоматического импорта данных о тренировках. Это делает приложение универсальным для использования на мобильных устройствах (iOS и Android) и других платформах (например, Garmin).

Как это работает?

Ты можешь создать своё собственное соревнование или присоединиться к уже существующему, используя ссылку-приглашение от друга. Пользователи могут устанавливать индивидуальные цели по активности. Каждый участник зарабатывает 1 балл за каждый 1% выполнения цели. Например, если цель составляет 100 минут тренировки, а ты опасил 50 минут, ты получаешь 50 баллов. Кроме того, существует возможность устанавливать пределы на максимальное и минимальное количество баллов, которые участники могут зарабатывать за тренировку, день или неделю.

Функциональные возможности

  • Создание собственных соревнований или присоединение к ним через приглашение.
  • Ввод тренировок вручную или автоматический импорт через Strava (ежедневно в 4 утра).
  • Личный дашборд с статистикой и прогрессом.
  • Общедоступные дашборды соревнований с показателями друзей и лидербордами.
  • Еженедельные отчёты по электронным письмам о твоем месте в соревнованиях.
  • Поддержка мобильных устройств и темного режима.

Как установить и запустить

Для быстрого запуска проекта необходимо выполнить следующую команду с использованием Docker:

docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge

Для полноценного развертывания используйте docker-compose. Пример конфигурации представлен в файле docker-compose.yml.

docker compose -f /path/to/docker-compose.yml up

Ограничения и условия

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

  • Требуется базовый уровень понимания работы с Docker и Docker Compose.
  • Настраивают переменные окружения, такие как POSTGRES_HOST, STRAVA_CLIENT_ID и другие.
  • Некоторые функции, например, интеграция с Strava, зависят от работы соответствующих API и их изменений.

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

Открыть на GitHub: vanalmsick/workout_challenge →

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

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

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