1. 项目概述
Workout.cool 是一个现代化的开源健身教练平台,它解决了健身爱好者、教练和开发者面临的几个核心痛点。作为一个长期健身并尝试过各种健身应用的资深用户,我发现市面上大多数健身应用要么功能单一,要么需要付费订阅,更重要的是无法完全掌控自己的数据。Workout.cool 的出现完美解决了这些问题。
这个项目基于 Next.js + TypeScript + Prisma + PostgreSQL 技术栈构建,采用 Feature-Sliced Design 架构,不仅功能完整,而且代码组织清晰,非常适合二次开发。最吸引我的是它支持 Docker 一键部署,这意味着你可以轻松地在自己的服务器上搭建专属的健身管理平台,完全掌控自己的训练数据。
提示:如果你曾经因为商业健身应用突然停止服务或改变收费政策而丢失训练数据,Workout.cool 的自托管特性将是你最好的选择。
1.1 核心功能解析
Workout.cool 提供了四大核心功能模块:
-
训练计划管理:可以创建个性化的训练计划,支持多天计划和循环计划。我特别喜欢它的计划模板功能,对于健身新手来说非常友好。
-
进度追踪系统:每次训练完成后,可以记录详细的训练数据,包括重量、次数、组数等。系统会自动生成可视化的进度图表,让你清晰地看到自己的进步。
-
全面的运动数据库:包含大量运动项目,每个运动都有详细的文字说明和视频演示。数据库支持多语言,目前已经包含8种语言版本。
-
数据导入导出:支持CSV格式批量导入运动数据,这对于想要扩展运动数据库的用户来说非常实用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构深度解析
2.1 Feature-Sliced Design 实践
Workout.cool 采用了 Feature-Sliced Design (FSD) 架构,这是一种现代前端架构模式。我在实际项目中尝试过多种架构方式,FSD 的最大优势在于它提供了清晰的代码组织结构和模块化设计。
项目目录结构如下:
code复制src/
├── app/ # Next.js页面和路由
├── processes/ # 跨功能业务流程
├── widgets/ # 可复用的UI组件
├── feature
