Strava 데이터나 업로드한 FIT/TCX/GPX 활동 파일을 통계, 차트, 장비 관리로 보여주는 셀프 호스팅 오픈소스 대시보드입니다.
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
Docker로 간단히 사용해 보세요
docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge - 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 통계는 매일 갱신됩니다.
관련 프로젝트
Django 기반의 셀프 호스팅 오픈소스 운동·영양·체중 트래커로, REST API와 모바일 앱을 제공합니다.
Strava, Garmin Connect 및 GPX/TCX/FIT 파일의 활동을 동기화·분석하고 데이터를 자체 서버에 보관하는 셀프 호스팅 피트니스 트래킹 서비스입니다.
루틴 계획, 세트 기록, 데이터 자체 보관을 지원하는 셀프 호스팅 헬스장·체중 기록 앱입니다.
제품 데이터를 관리하고 보강하는 Laravel 기반 오픈소스 제품 정보 관리(PIM) 및 디지털 자산 관리(DAM) 플랫폼입니다.
GPX 등 활동 파일을 가져와 야외 운동을 기록하고, 데이터는 자체 서버에 보관하는 셀프 호스팅 웹 앱입니다.