Repolode
vanalmsick

vanalmsick/workout_challenge

친구나 직장 동료와 피트니스 챌린지를 진행할 수 있는 셀프 호스팅 웹 앱으로, 맞춤 지표와 선택형 Strava 가져오기를 지원합니다.

대체할 수 있는 제품:Strava

스타
153
포크
11
열린 이슈
2
마지막 커밋
3일 전

어떤 프로젝트인가요?

Workout Challenge는 친구, 가족 또는 직장 동료끼리 피트니스 대회를 진행할 수 있는 셀프 호스팅 웹 앱입니다. 주최자는 대회를 만들고 분, 운동 횟수, 킬로미터, 킬로칼로리 또는 킬로줄 등의 지표를 사용해 하루, 일주일, 한 달 또는 대회 전체 기간에 적용할 목표를 하나 이상 설정합니다. 참가자는 초대 링크로 참여한 뒤 운동과 걸음 수를 직접 기록하거나 Strava 계정을 연결해 자동으로 가져올 수 있습니다. 목표 진행률 1%마다 1점을 얻으며, 운동별·일별·주별 포인트에 선택적으로 최솟값과 최댓값을 설정해 꾸준한 참여에 초점을 맞출 수 있습니다.

참가자마다 운동 통계와 연속 기록을 확인할 수 있는 개인 대시보드가 제공되며, 대회 대시보드에서는 친구들의 활동, 순위표, 목표 진행 상황을 볼 수 있습니다. 앱은 매주 월요일 순위표 이메일을 보내고, 선택적으로 매주 목요일 진행 상황 이메일도 발송합니다. 웹 인터페이스와 이메일은 반응형이며, 사이트는 라이트 모드와 다크 모드를 지원합니다.

프런트엔드는 React, 백엔드는 REST API를 제공하는 Django로 구성되며, PostgreSQL, Redis, Celery, 예약 작업을 위한 Celery Beat를 사용합니다. 단일 Docker 컨테이너로 실행할 수 있으며, 빠른 로컬 테스트를 위해 SQLite로 전환할 수도 있습니다.

핵심 기능

  • 01대회를 만들거나 초대 링크로 참여합니다.
  • 02하루, 일주일, 한 달 또는 대회 전체 기간에 적용할 목표를 분, 횟수, km, kcal 또는 kJ 단위로 설정합니다.
  • 03Strava에서 운동을 자동으로 가져오거나 직접 입력합니다.
  • 04포인트를 조정하도록 운동별·일별·주별 최솟값과 최댓값을 적용합니다.
  • 05대회별 순위표, 친구 활동 및 진행 상황 대시보드를 제공합니다.
  • 06반응형 레이아웃과 다크 모드를 지원하며, 주간 순위표 및 진행 상황 이메일을 보냅니다.

활용 사례

  • 직장에서 동료들과 9월 걸음 수 챌린지를 진행합니다.
  • 친구끼리 주간 운동 시간이나 운동 횟수를 겨룹니다.
  • 공개 소셜 피트니스 앱 대신 비공개 셀프 호스팅 순위표를 원하는 가족이나 동호회에서 사용합니다.
  • 일별 또는 주별 포인트에 상한을 두어 꾸준한 참여를 장려하려는 그룹에서 사용합니다.

빠른 시작

  1. 1

    Docker로 간단히 사용해 보세요

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

    또는 README의 docker-compose.yml을 사용해 docker compose로 프로덕션 환경에 배포하세요

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

사용 전 알아둘 점

  • 프로덕션 환경을 완전히 구성하려면 PostgreSQL, Strava API 인증 정보, 이메일 전송을 위한 SMTP 설정이 필요합니다.
  • 개발자 프로그램에 가입하지 않으면 Strava 가져오기는 Strava API의 요청 횟수 제한을 받습니다.
  • 셀프 호스팅하려면 여러 환경 변수와 시크릿을 설정해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

workout_challenge은(는) 무엇인가요?
친구나 직장 동료와 피트니스 챌린지를 진행할 수 있는 셀프 호스팅 웹 앱으로, 맞춤 지표와 선택형 Strava 가져오기를 지원합니다. Workout Challenge는 친구, 가족 또는 직장 동료끼리 피트니스 대회를 진행할 수 있는 셀프 호스팅 웹 앱입니다. 주최자는 대회를 만들고 분, 운동 횟수, 킬로미터, 킬로칼로리 또는 킬로줄 등의 지표를 사용해 하루, 일주일, 한 달 또는 대회 전체 기간에 적용할 목표를 하나 이상 설정합니다. 참가자는 초대 링크로 참여한 뒤 운동과 걸음 수를 직접 기록하거나 Strava 계정을 연결해 자동으로 가져올 수 있습니다. 목표 진행률 1%마다 1점을 얻으며, 운동별·일별·주별 포인트에 선택적으로 최솟값과 최댓값을 설정해 꾸준한 참여에 초점을 맞출 수 있습니다.
workout_challenge은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
workout_challenge은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
workout_challenge은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. workout_challenge의 마지막 커밋은 2026년 11월 2일입니다.
workout_challenge은(는) 어디에 사용할 수 있나요?
직장에서 동료들과 9월 걸음 수 챌린지를 진행합니다. 친구끼리 주간 운동 시간이나 운동 횟수를 겨룹니다. 공개 소셜 피트니스 앱 대신 비공개 셀프 호스팅 순위표를 원하는 가족이나 동호회에서 사용합니다. 일별 또는 주별 포인트에 상한을 두어 꾸준한 참여를 장려하려는 그룹에서 사용합니다.
workout_challenge는 어떻게 설치하나요?
Docker로 간단히 사용해 보세요: docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge 또는 README의 docker-compose.yml을 사용해 docker compose로 프로덕션 환경에 배포하세요: docker compose -f /path/to/docker-compose.yml up
workout_challenge은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/vanalmsick/workout_challenge

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

제품 데이터를 관리하고 보강하는 Laravel 기반 오픈소스 제품 정보 관리(PIM) 및 디지털 자산 관리(DAM) 플랫폼입니다.

생산성·앱#pim#dam#product-information-management
1.1만+9 이번 주190PHPMIT활발히 관리됨업데이트 17시간 전

GPX 등 활동 파일을 가져와 야외 운동을 기록하고, 데이터는 자체 서버에 보관하는 셀프 호스팅 웹 앱입니다.

생산성·앱#fitness#self-hosted#gpx
1.2천+2 이번 주75PythonAGPL-3.0활발히 관리됨업데이트 어제