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 →
RepoRadar