可自托管的开源运动数据仪表盘,可将 Strava 或 FIT/TCX/GPX 文件中的活动转为统计与图表。
- Star
- 153
- Fork
- 11
- 未关闭 Issue
- 2
- 最近提交
- 23小时前
这是什么?
Workout Challenge 是一款可自托管的网页应用,用于组织朋友、家人或同事之间的健身比赛。发起者可以创建比赛并设定一个或多个目标,指标可选分钟、次数、公里、千卡或千焦,统计周期可按天、周、月或整个比赛期间计算。参赛者通过邀请链接加入,可手动记录运动和步数,也可关联 Strava 账号自动导入。目标每完成 1% 得 1 分,还可以对单次运动、每日或每周的得分设置上下限,让比赛更看重坚持。
每位用户都有个人面板,展示运动统计和连续打卡天数;比赛面板则显示好友动态、排行榜以及目标完成进度。应用每周一发送排行榜邮件,并可选择每周四发送个人目标进度邮件。网页和邮件都适配手机、平板和电脑,并支持浅色与深色模式。
前端使用 React,后端基于 Django 提供 REST API,并依赖 PostgreSQL、Redis、Celery 和 Celery Beat 处理定时任务。项目以 Docker 容器形式部署,本地快速测试时可使用 SQLite。
核心功能
- 01可创建比赛,也可通过邀请链接加入。
- 02目标指标可选分钟、次数、公里、千卡或千焦,统计周期支持按天、周、月或整个比赛。
- 03支持从 Strava 自动导入运动记录,也可手动录入。
- 04可设置单次、每日或每周的得分上下限。
- 05每场比赛提供排行榜、好友动态和进度面板。
- 06每周发送排行榜与进度邮件,网页和邮件均适配多种设备并支持深色模式。
适用场景
- 公司组织同事之间的九月步数挑战。
- 朋友之间比拼每周运动时长或训练次数。
- 家庭或俱乐部希望在自建服务器上运行私密排行榜,而不是使用公开的社交运动应用。
- 希望通过限制每日或每周得分上限来鼓励坚持的团体。
快速上手
- 1
使用 Docker 快速试用
docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge - 2
或使用 docker compose 按 README 中的 docker-compose.yml 进行生产部署
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月6日。
- workout_challenge 适合用来做什么?
- 公司组织同事之间的九月步数挑战。 朋友之间比拼每周运动时长或训练次数。 家庭或俱乐部希望在自建服务器上运行私密排行榜,而不是使用公开的社交运动应用。 希望通过限制每日或每周得分上限来鼓励坚持的团体。
- workout_challenge 怎么安装和运行?
- 使用 Docker 快速试用: docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge 或使用 docker compose 按 README 中的 docker-compose.yml 进行生产部署: docker compose -f /path/to/docker-compose.yml up
- 在哪里获取 workout_challenge?
- 源代码和安装说明在 GitHub 上:https://github.com/vanalmsick/workout_challenge
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Django 的开源自托管健身、饮食与体重记录工具,提供 REST API 和移动端应用。
一款自托管的健身记录服务,可同步 Strava、Garmin Connect 活动,并导入 GPX/TCX/FIT 文件,数据保存在自己的服务器上。
一款可自托管的健身与体重记录工具,用于规划训练计划、记录每组数据,数据保存在自己的服务器上。
基于 Laravel 构建的开源商品信息管理(PIM)与数字资产管理(DAM)平台,用于管理和丰富商品数据。
一款可自托管的户外运动记录网页应用,支持从文件导入活动数据,数据保存在自己的服务器上。