ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Workout.Cool 完整上手指南:用免费开源健身平台搭建你的个性化训练计划

Workout.Cool 完整上手指南:用免费开源健身平台搭建你的个性化训练计划 Workout.Cool 完整上手指南用免费开源健身平台搭建你的个性化训练计划【免费下载链接】workout-cool Modern open-source fitness coaching platform. Create workout plans, track progress, and access a comprehensive exercise database.项目地址: https://gitcode.com/gh_mirrors/wo/workout-coolWorkout.Cool 是一个免费的开源健身平台你可以在自己的服务器上搭建它用它创建个性化训练计划、记录每一次训练的进度并查询带视频和肌肉标注的完整动作库。加上心率区间计算这类工具它相当于一个可以自托管的开源健身教练。下面先给你一套能直接跑起来的步骤再逐个拆解它的核心功能。 快速上手10 分钟跑起一个开源健身平台一条命令完成本地部署前提是你装好了 Docker 和 pnpm然后执行git clone https://gitcode.com/gh_mirrors/wo/workout-cool cd workout-cool cp .env.example .env make devmake dev把四件事打包成一步用 docker compose 拉起 PostgreSQL、安装依赖、执行 Prisma 迁移、导入示例动作和排行榜数据最后自动启动开发服务器。.env里主要是数据库连接和认证相关配置保持默认即可先跑起来。启动后打开 http://localhost:3000就能直接看到心率计算器和动作库。如果你打算直接部署到 VPSdocs/SELF-HOSTING.md 给了两条路线Docker Compose 一体包或者应用容器对接外部数据库含域名和 HTTPS 配置。导入你自己的动作数据示例库来自./data/sample-exercises.csv格式可以按自己的需求扩展pnpm run import:exercises-full ./data/sample-exercises.csv这条命令把 CSV 解析进 Exercise 模型同时写入肌肉群、器械等属性导入自定义清单后这些字段可以直接在计划构建器里用来筛选。 用心率区间计算器算出你的五个训练区间站点跑起来后第一个值得试的工具就是心率区间计算器。输入年龄它按 220 − 年龄 估算最大心率再把 50% 到 100% 的区间切成五段连续的训练区。输入年龄即可看到最大心率和五个区间的上下限不用手算把每个区间对应到热身、燃脂、有氧、无氧、最大强度等训练目标用中文直接读结果也支持英、法、俄等共 6 种语言训练前先圈定一个安全心率范围避免强度失控️ 按你手里的器械生成智能锻炼计划训练计划部分围绕动作库展开每个动作都带多语言说明、视频和器械、目标肌肉等属性生成方案的前提是筛选条件选得准。按器械哑铃、杠铃、弹力带、自重和肌肉群筛选候选动作拖拽调整动作顺序设定组数与休息时间匹配你的训练频率保存计划后逐次跟练记录每一组的实际重量和次数在统计页查看重量与容量趋势确认这一轮训练有没有效果 用社交排行榜找训练搭子长期一个人练容易断档内置排行榜按周训练次数和累计训练量给所有用户排名把有没有练变成一个可见的数字。打开排行榜页查看头部榜单和你当前的位置邀请朋友进同一个实例对比每周训练次数互相督促打破个人记录后名次上升肉眼可见反馈比纯自律更具体本地环境里 make dev 会预置示例榜单数据启动后立刻能看到完整效果 技术侧写这个开源健身教练是怎么搭的它用了什么技术栈Next.js 16 React 19 TypeScriptPrisma 6 连接 PostgreSQLTailwind 加 shadcn 风格组件better-auth 处理邮箱和第三方登录Stripe 处理付费订阅。选型全部是主流方案没有冷门依赖接手维护成本不高。代码是怎么组织的项目按功能切片Feature-Sliced Design拆分features/ 下每个业务能力一个独立切片workout-builder、statistics、programs、leaderboardshared/ 放公共代码entities/ 放领域模型app/ 只留路由。改一个功能基本只碰自己的切片不容易误伤别处。心率计算的核心是个纯函数放在 app/[locale]/(app)/tools/heart-rate-zones/ 里逻辑简单到几行就能讲清export function calculateHeartRateZones(age: number) { const maxHeartRate 220 - age; const zones [ { minHR: Math.round(maxHeartRate * 0.5), maxHR: Math.round(maxHeartRate * 0.6) }, // 热身 { minHR: Math.round(maxHeartRate * 0.6), maxHR: Math.round(maxHeartRate * 0.7) }, // 燃脂 // ... 有氧 0.7-0.8、无氧 0.8-0.9、最大强度 0.9-1.0 ]; return { maxHeartRate, zones }; }数据模型也留了扩展位Exercise 不直接硬编码肌肉、器械字段而是用属性名、属性值、属性关联三张表拼接新增一个维度比如训练难度不需要改表结构模型定义见 prisma/schema.prisma。i18n 方面en、es、fr、pt、ru、zh-CN 六种语言全覆盖连隐私政策这类 MDX 内容也按语言分文件维护。 哪些人适合用这套个性化训练计划平台健身新手先算心率区间再跟预设计划重量和容量趋势图能直观回答练得有没有用教练与训练师自托管一个实例用管理后台统一维护计划和学员进度开发者FSD 目录结构、全量 TypeScript、i18n、支付、邮件模板都是现成可用的中型 Next.js 应用模板写在最后路线图上的方向包括基于训练历史给出建议、移动端适配和更丰富的社区挑战架构里已经为移动端预留了对应的 API 路由。目前移动端暂时没有原生应用自托管时注意把公网地址配进环境变量即可。如果你在部署时卡住或者想加一个自己的小工具直接到仓库提 issue 或提交翻译、功能贡献都是有效的参与方式。门槛不高先按上面的步骤 clone 跑一遍剩下的问题会自己浮出来。【免费下载链接】workout-cool Modern open-source fitness coaching platform. Create workout plans, track progress, and access a comprehensive exercise database.项目地址: https://gitcode.com/gh_mirrors/wo/workout-cool创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表