[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73502":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":48,"lastSyncTime":49,"discoverSource":50},73502,"workout-cool","Snouzy\u002Fworkout-cool","Snouzy","🏋 Modern open-source fitness coaching platform. Create workout plans, track progress, and access a comprehensive exercise database.","https:\u002F\u002Fworkout.cool",null,"TypeScript",7893,666,29,25,0,10,71,243,30,39.47,"MIT License",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"coach","exercise","feature-sliced-design","fitness","gym","health","nextjs","open-source","postgresql","prisma","radix-ui","react","shadcn-ui","tailwindcss","training","typescript","webapp","workout","2026-06-12 02:03:14","\u003Cdiv align=\"center\">\n\u003Cimg src=\"public\u002Flogo.png\" alt=\"Workout.cool Logo\" width=\"120\" height=\"120\">\n\u003Ch1>Workout.cool\u003C\u002Fh1>\n\u003Ch3>\u003Cem>Modern fitness coaching platform with comprehensive exercise database\u003C\u002Fem>\u003C\u002Fh3>\n\u003Cp>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool\u002Fgraphs\u002Fcontributors\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002FSnouzy\u002Fworkout-cool?style=plastic\" alt=\"Contributors\">\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool\u002Fnetwork\u002Fmembers\">  \n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FSnouzy\u002Fworkout-cool\" alt=\"Forks\">\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool\u002Fstargazers\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FSnouzy\u002Fworkout-cool\" alt=\"Stars\">\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool\u002Fissues\">  \n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FSnouzy\u002Fworkout-cool\" alt=\"Issues\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frepo-size\u002FSnouzy\u002Fworkout-cool\" alt=\"Repository Size\">\n\u003Ca href=\"LICENSE\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg\" alt=\"MIT License\">\n\u003C\u002Fa>\n\n\u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FNtrsUBuHUB\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white\" alt=\"Discord\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fko-fi.com\u002Fworkoutcool\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKo--fi-Support%20Project-FF5E5B?style=for-the-badge&logo=ko-fi&logoColor=white\" alt=\"Ko-fi\">\n    \u003C\u002Fa>\n  \u003C\u002Fp>\n  \u003C!-- Keep these links. Translations will automatically update with the README. -->\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=de\">Deutsch\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=es\">Español\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=fr\">français\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=ja\">日本語\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=ko\">한국어\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=pt\">Português\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=ru\">Русский\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Freadme-i18n.com\u002FSnouzy\u002Fworkout-cool?lang=zh\">中文\u003C\u002Fa>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n## Table of Contents\n\n- [About](#about)\n- [Project Origin & Motivation](#-project-origin--motivation)\n- [Quick Start](#quick-start)\n- [Exercise Database Import](#exercise-database-import)\n- [Project Architecture](#project-architecture)\n- [Contributing](#contributing)\n- [Self-hosting](#deployment--self-hosting)\n- [Resources](#resources)\n- [License](#license)\n- [Sponsor This Project](#-sponsor-this-project)\n\n## Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=Snouzy\u002Fworkout-cool&nocache=1\" \u002F>\n\u003C\u002Fa>\n\n## Sponsors\n\n\u003Cdiv>\n  \u003Ch4>They are helping making workout.cool free and open-source for everyone :\u003C\u002Fh4>\n\n\u003Ca href=\"https:\u002F\u002Fvercel.com\u002Foss\">\n  \u003Cimg alt=\"Vercel OSS Program\" src=\"https:\u002F\u002Fvercel.com\u002Foss\u002Fprogram-badge.svg\" \u002F>\n\u003C\u002Fa>\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\n  \u003Ctable>\n    \u003Ctr>\n      \u003Ctd align=\"center\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flj020326\">\n          \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flj020326.png\" width=\"50px;\" alt=\"lj020326\"\u002F>\n          \u003Cbr \u002F>\n          \u003Csub>\u003Cb>lj020326\u003C\u002Fb>\u003C\u002Fsub>\n          \u003Cbr \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\">\n        \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flucasnevespereira\">\n          \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flucasnevespereira.png\" width=\"50px;\" alt=\"lucasnevespereira\"\u002F>\n          \u003Cbr \u002F>\n          \u003Csub>\u003Cb>lucasnevespereira\u003C\u002Fb>\u003C\u002Fsub>\n          \u003Cbr \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n## About\n\nA comprehensive fitness coaching platform that allows create workout plans for you, track progress, and access a vast exercise database with\ndetailed instructions and video demonstrations.\n\n## 🎯 Project Origin & Motivation\n\nThis project was born from a personal mission to revive and improve upon a previous fitness platform. As the **primary contributor** to the\noriginal [workout.lol](https:\u002F\u002Fgithub.com\u002Fworkout-lol\u002Fworkout-lol) project, I witnessed its journey and abandonment. 🥹\n\n### The Story Behind **_workout.cool_**\n\n- 🏗️ **Original Contributor**: I was the main contributor to workout.lol\n- 💼 **Business Challenges**: The original project faced major hurdles with exercise video partnerships (no reliable video provider) could\n  be established\n- 💰 **Project Sale**: Due to these partnership issues, the project was sold to another party\n- 📉 **Abandonment**: The new owner quickly realized that **exercise video licensing costs were prohibitively expensive**, began to be sick\n  and abandoned the entire project\n- 🔄 **Revival Attempts**: For the past **9 months**, I've been trying to reconnect with the new stakeholder\n- 📧 **Radio Silence**: Despite multiple (15) attempts, there has been no response\n- 🚀 **New Beginning**: Rather than let this valuable work disappear, I decided to create a fresh, modern implementation\n\n### Why **_workout.cool_** Exists\n\n**Someone had to step up.**\n\nThe opensource fitness community deserves better than broken promises and abandoned platforms.\n\nI'm not building this for profit.\n\nThis isn't just a revival : it's an evolution. **workout.cool** represents everything the original project could have been, with the\nreliability, modern approach, and **maintenance** that the fitness open source community deserves.\n\n## 👥 From the Community, For the Community\n\n**I'm not just a developer : I'm a user who refused to let our community down.**\n\nI experienced firsthand the frustration of watching a beloved tool slowly disappear. Like many of you, I had workouts saved, progress\ntracked, and a routine built around the platform.\n\n### My Mission: Rescue & Revive.\n\n_If you were part of the original workout.lol community, welcome back! If you're new here, welcome to the future of fitness platform\nmanagement._\n\n## Quick Start\n\n### Prerequisites\n\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) (v18+)\n- [pnpm](https:\u002F\u002Fpnpm.io\u002F) (v8+)\n- [Docker](https:\u002F\u002Fwww.docker.com\u002F)\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FSnouzy\u002Fworkout-cool.git\n   cd workout-cool\n   ```\n\n2. **Choose your installation method:**\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🐳 With Docker\u003C\u002Fb>\u003C\u002Fsummary>\n\n### Docker Installation\n\n1. **Copy environment variables**\n\n   ```bash\n   cp .env.example .env\n   ```\n\n2. **Start everything for development:**\n\n   ```sh\n   make dev\n   ```\n\n   - This will start the database in Docker, run migrations, seed the DB, and start the Next.js dev server.\n   - To stop services run `make down`\n\n3. **Open your browser** Navigate to [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>💻 Without Docker\u003C\u002Fb>\u003C\u002Fsummary>\n\n### Manual Installation\n\n1. **Install dependencies**\n\n   ```bash\n   pnpm install\n   ```\n\n2. **Copy environment variables**\n\n   ```bash\n   cp .env.example .env\n   ```\n\n3. **Set up PostgreSQL database**\n\n   - If you don't already have it, install PostgreSQL locally\n   - Create a database named `workout_cool` : `createdb -h localhost -p 5432 -U postgres workout_cool`\n\n4. **Run database migrations**\n\n   ```bash\n   npx prisma migrate dev\n   ```\n\n5. **Seed the database (optional)**\n\nSee the - [Exercise database import section](#exercise-database-import)\n\n6. **Start the development server**\n\n   ```bash\n   pnpm dev\n   ```\n\n7. **Open your browser** Navigate to [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n\n\u003C\u002Fdetails>\n\n## Exercise Database Import\n\nThe project includes a comprehensive exercise database. To import a sample of exercises:\n\n### Prerequisites for Import\n\n1. **Prepare your CSV file**\n\nYour CSV should have these columns:\n\n```\nid,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value\n```\n\nYou can use the provided example.\n\n### Import Commands\n\n```bash\n# Import exercises from a CSV file\npnpm run import:exercises-full \u002Fpath\u002Fto\u002Fyour\u002Fexercises.csv\n\n# Example with the provided sample data\npnpm run import:exercises-full .\u002Fdata\u002Fsample-exercises.csv\n```\n\n### CSV Format Example\n\n```csv\nid,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value\n157,\"Fentes arrières à la barre\",\"Barbell Reverse Lunges\",\"\u003Cp>Stand upright...\u003C\u002Fp>\",\"\u003Cp>Stand upright...\u003C\u002Fp>\",https:\u002F\u002Fyoutube.com\u002F...,https:\u002F\u002Fimg.youtube.com\u002F...,slug-fr,slug-en,TYPE,STRENGTH\n157,\"Fentes arrières à la barre\",\"Barbell Reverse Lunges\",\"\u003Cp>Stand upright...\u003C\u002Fp>\",\"\u003Cp>Stand upright...\u003C\u002Fp>\",https:\u002F\u002Fyoutube.com\u002F...,https:\u002F\u002Fimg.youtube.com\u002F...,slug-fr,slug-en,PRIMARY_MUSCLE,QUADRICEPS\n```\n\nWant unlimited exercise for local development ?\n\nJust ask chatGPT with the prompt from `.\u002Fscripts\u002Fimport-exercises-with-attributes.prompt.md`\n\n## Project Architecture\n\nThis project follows **Feature-Sliced Design (FSD)** principles with Next.js App Router:\n\n```\nsrc\u002F\n├── app\u002F # Next.js pages, routes and layouts\n├── processes\u002F # Business flows (multi-feature)\n├── widgets\u002F # Composable UI with logic (Sidebar, Header)\n├── features\u002F # Business units (auth, exercise-management)\n├── entities\u002F # Domain entities (user, exercise, workout)\n├── shared\u002F # Shared code (UI, lib, config, types)\n└── styles\u002F # Global CSS, themes\n```\n\n### Architecture Principles\n\n- **Feature-driven**: Each feature is independent and reusable\n- **Clear domain isolation**: `shared` → `entities` → `features` → `widgets` → `app`\n- **Consistency**: Between business logic, UI, and data layers\n\n### Example Feature Structure\n\n```\nfeatures\u002F\n└── exercise-management\u002F\n├── ui\u002F # UI components (ExerciseForm, ExerciseCard)\n├── model\u002F # Hooks, state management (useExercises)\n├── lib\u002F # Utilities (exercise-helpers)\n└── api\u002F # Server actions or API calls\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Workflow\n\n1. **Create an issue** for the feature\u002Fbug you want to work on. Say that you will work on it (or no)\n2. Fork the repository\n3. Create your feature|fix|chore|refactor branch (`git checkout -b feature\u002Famazing-feature`)\n4. Make your changes following our [code standards](#code-style)\n5. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n6. Push to the branch (`git push origin feature\u002Famazing-feature`)\n7. Open a Pull Request (one issue = one PR)\n\n**📋 For complete contribution guidelines, see our [Contributing Guide](CONTRIBUTING.md)**\n\n### Code Style\n\n- Follow TypeScript best practices\n- Use Feature-Sliced Design architecture\n- Write meaningful commit messages\n\n## Deployment \u002F Self-hosting\n\n> 📖 **For detailed self-hosting instructions, see our [Complete Self-hosting Guide](docs\u002FSELF-HOSTING.md)**\n>\n> 📺 **You can also watch a [3-minute video guide on self-hosting Workout.Cool](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=HQecjb0CfAo).**\n\n\nTo seed the database with the sample exercises, set the `SEED_SAMPLE_DATA` env variable to `true`.\n\n### Using Docker\n\n```bash\n# Build the Docker image\ndocker build -t yourusername\u002Fworkout-cool .\n\n# Run the container\ndocker run -p 3000:3000 --env-file .env.production yourusername\u002Fworkout-cool\n```\n\n### Using Docker Compose\n\n#### DATABASE_URL\n\nUpdate the `host` to point to the `postgres` service instead of `localhost`\n`DATABASE_URL=postgresql:\u002F\u002Fusername:password@postgres:5432\u002Fworkout_cool`\n\n```bash\ndocker compose up -d\n```\n\n### Manual Deployment\n\n```bash\n# Build the application\npnpm build\n\n# Run database migrations\nexport DATABASE_URL=\"your-production-db-url\"\nnpx prisma migrate deploy\n\n# Start the production server\npnpm start\n```\n\n## Resources\n\n- [Feature-Sliced Design](https:\u002F\u002Ffeature-sliced.design\u002F)\n- [Next.js Documentation](https:\u002F\u002Fnextjs.org\u002Fdocs)\n- [Prisma Documentation](https:\u002F\u002Fwww.prisma.io\u002Fdocs\u002F)\n- [Better Auth](https:\u002F\u002Fgithub.com\u002Fbetter-auth\u002Fbetter-auth)\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n[![MIT License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n\n## 🤝 Join the Rescue Mission\n\n**This is about rebuilding what we lost, together.**\n\n### How You Can Help\n\n- 🌟 **Star this repo** to show the world our community is alive and thriving\n- 💬 **Join our Discord** to connect with other fitness enthusiasts and developers\n- 🐛 **Report issues** you find. I'm listening to every single one\n- 💡 **Share your feature requests** finally, someone who will actually implement them !\n- 🔄 **Spread the word** to fellow fitness enthusiasts who lost hope\n- 🤝 **Contribute code** if you're a developer : let's build this together\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FNtrsUBuHUB\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join%20Our%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white\" alt=\"Discord\">\n  \u003C\u002Fa>\n  \u003Cbr>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fwww.producthunt.com\u002Fproducts\u002Fworkout-cool?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-workout&#0045;cool\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ffeatured.svg?post_id=980519&theme=light&t=1750436372984\" alt=\"Product Hunt\" width=\"180\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## 💖 Sponsor This Project\n\nAppear in the README and on the website as supporter by donating:\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fko-fi.com\u002Fworkoutcool\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fko-fi.com\u002Fimg\u002Fgithubbutton_sm.svg\" alt=\"Sponsor on Ko-fi\" \u002F>\n  \u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;\n  \u003C!-- TODO: setup -->\n  \u003C!-- \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fworkout_cool\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fcdn.buymeacoffee.com\u002Fbuttons\u002Fv2\u002Fdefault-yellow.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\" \u002F>\n  \u003C\u002Fa> -->\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\" style=\"margin-top:20px;\">\n  \u003Cem>If you believe in open-source fitness tools and want to help this project thrive,\u003Cbr>\n  consider buying me a coffee ☕ or sponsoring the continued development.\u003C\u002Fem>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  Your support helps cover hosting costs, exercise database updates, and continuous improvement.\u003Cbr>\n  Thank you for keeping \u003Cstrong>workout.cool\u003C\u002Fstrong> alive and evolving 💪\n\u003C\u002Fp>\n\n\u003Cbr \u002F>\n\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fvercel.com\u002Foss\">\n\u003Cimg alt=\"Vercel OSS Program\" src=\"https:\u002F\u002Fvercel.com\u002Foss\u002Fprogram-badge.svg\" \u002F>\n\u003C\u002Fa>\n","Workout.cool 是一个现代化的开源健身指导平台，旨在帮助用户创建训练计划、跟踪进度并访问全面的运动数据库。该项目采用TypeScript编写，利用了Next.js、React等前端技术栈，并结合PostgreSQL和Prisma进行数据管理，确保了应用的高效与稳定。此外，通过TailwindCSS、Radix UI以及shadcn-ui等工具库的应用，为用户提供了一个美观且响应迅速的界面体验。无论是个人健身爱好者还是专业教练，都可以利用该平台来规划日常锻炼、监控身体变化或分享训练心得。",2,"2026-06-11 03:45:53","high_star"]