找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5454

积分

0

好友

703

主题
发表于 5 小时前 | 查看: 4| 回复: 0

今天不聊复杂的代码,咱们来聊点带劲的,跟身体有关的。

你有没有过这样的经历:一款健身 App,用得好好的。突然有一天,打不开了。训练记录没了,计划没了,连客服都联系不上。

今天要介绍的这个项目 workout-cool,就是因为经历过这种事,才被逼着诞生的。

项目简介

workout-cool 是一个开源健身管理平台,简单说就是三件事:制定训练计划、记录锻炼进度、外加一个内容详尽的动作数据库。

Workout.cool 设备选择界面

Workout.cool 肌肉选择界面

个人健身、教练带学员都能用。而且支持自托管,数据放在自己服务器上,不用担心平台突然跑路、训练记录说没就没。

这个项目的由来挺有意思。

项目起源与动机说明

作者原本是另一个健身开源项目 workout.lol 的主力贡献者,那个项目当年也有 1.4k star。可惜运动视频版权成本太高,项目被卖给别人,新东家接手不久也因为同样的原因摆烂停更。

作者不甘心,连续 9 个月发了 15 封邮件想挽救,结果杳无音信。

与其等一个不回信的人,不如自己重写一个。workout-cool 就这么来了。

目前项目在 GitHub 已经拿下 8.3k star,用的是 Next.js + TypeScript + Prisma + PostgreSQL 技术栈,代码质量在同类项目里算能打的。

workout-cool GitHub 仓库页面

功能特性

  • 三步出计划: 选设备(自重/哑铃/杠铃/壶铃/弹力带等)→ 选目标肌群 → 自动生成动作清单。深蹲卧推划船随便挑,新手也能立刻开练。

    训练计划生成示例

  • 内置 1200+ 动作库: 每个动作带文字要点、目标肌肉、所需器械,还有 YouTube 视频演示。CSV 可批量导入,也能用脚本让 ChatGPT 扩语料。

添加练习界面

Straight Leg Bodyweight Glute Kickbacks 动作说明

  • 进度追踪不糊弄: 每次训练记组数、次数、重量,历史一目了然,力量曲线自己长出来。

重量进展统计图表

  • 真自托管: Docker 一条 make init 起 Postgres + 迁移 + 服务端,数据不出本机。
  • 多语言与离线: 界面含中/英/法/日/韩等,Service Worker 缓存后能断网看计划,器械区没信号也不慌。

快速安装、使用

workout-cool 不难,两条路线选一条就行。

先克隆项目:

git clone https://github.com/Snouzy/workout-cool.git
cd workout-cool

如果你机器上有 Docker,走这条最省心:

cp .env.example .env
make dev

这一条命令会自动拉起数据库、跑迁移、灌测试数据,顺便把 Next.js 开发服务器也启动了。跑完打开浏览器访问 http://localhost:3000 就能看到界面了。

不想用 Docker 也行,手动装:

pnpm install
cp .env.example .env
npx prisma migrate dev
pnpm dev

前提是本地要装好 PostgreSQL,自己建个叫 workout_cool 的数据库。

想往里灌运动动作数据的话,项目自带一份 CSV 导入脚本:

pnpm run import:exercises-full ./data/sample-exercises.csv

想自己搞更多动作数据,作者甚至贴心地留了一份 ChatGPT 提示词模板,让你自己生成。

小结

说实话,workout-cool 的功能设计不算多复杂,训练计划、动作库、进度追踪,健身圈这套东西大家都懂。

但它有一点挺打动人:这是一个被“背叛”过的用户,自己动手把东西修好了。

作为想搭建自己训练计划、想摆脱商业 App 数据绑架的健身爱好者,workout-cool 值得一试。

如果你也讨厌辛辛苦苦攒的健身数据说没就没,不妨去 GitHub 上给它点个 star。

项目地址:https://github.com/Snouzy/workout-cool

本文由云栈社区编辑整理。




上一篇:PLTR暴涨后的AI传导链:从应用端、CSP到硬件的牛市逻辑
下一篇:GPT Live全双工语音架构深度解析:OpenAI如何用流式推理实现零延迟对话
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-5 10:10 , Processed in 0.950898 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表