|
před 1 měsícem | |
---|---|---|
.github | před 1 měsícem | |
.vscode | před 1 měsícem | |
app | před 1 měsícem | |
content | před 1 měsícem | |
data | před 1 měsícem | |
emails | před 1 měsícem | |
locales | před 1 měsícem | |
prisma | před 1 měsícem | |
public | před 1 měsícem | |
scripts | před 1 měsícem | |
src | před 1 měsícem | |
.cursorrules | před 1 měsícem | |
.env.example | před 1 měsícem | |
.gitignore | před 1 měsícem | |
.npmrc | před 1 měsícem | |
.prettierrc | před 1 měsícem | |
CONTRIBUTING.md | před 1 měsícem | |
LICENSE | před 1 měsícem | |
Makefile | před 1 měsícem | |
README.md | před 1 měsícem | |
components.json | před 1 měsícem | |
docker-compose.yml | před 1 měsícem | |
eslint.config.mjs | před 1 měsícem | |
middleware.ts | před 1 měsícem | |
next.config.ts | před 1 měsícem | |
nextauth.d.ts | před 1 měsícem | |
package.json | před 1 měsícem | |
pnpm-lock.yaml | před 1 měsícem | |
postcss.config.mjs | před 1 měsícem | |
tailwind.config.ts | před 1 měsícem | |
tsconfig.json | před 1 měsícem |
A comprehensive fitness coaching platform that allows create workout plans for you, track progress, and access a vast exercise database with detailed instructions and video demonstrations.
This project was born from a personal mission to revive and improve upon a previous fitness platform. As the primary contributor to the original workout.lol project, I witnessed its journey and abandonment. 🥹
Someone had to step up.
The opensource fitness community deserves better than broken promises and abandoned platforms.
I'm not building this for profit.
This isn't just a revival : it's an evolution. workout.cool represents everything the original project could have been, with the reliability, modern approach, and maintenance that the fitness open source community deserves.
I'm not just a developer : I'm a user who refused to let our community down.
I experienced firsthand the frustration of watching a beloved tool slowly disappear. Like many of you, I had workouts saved, progress tracked, and a routine built around the platform.
If you were part of the original workout.lol community, welcome back! If you're new here, welcome to the future of fitness platform management.
Clone the repository
git clone https://github.com/Snouzy/workout-cool.git
cd workout-cool
Install dependencies
pnpm install
Set up environment variables
cp .env.example .env
Fill in your database URL and other required environment variables:
DATABASE_URL="postgresql://username:password@localhost:5432/workout_cool"
BETTER_AUTH_SECRET="your-secret-key"
# ... other variables
#### Option 1: Using Docker
The project provides a convenient make
command that handles everything:
make init
This single command will:
#### Option 2: Manual PostgreSQL Setup
If you prefer to use your own PostgreSQL installation:
# Run migrations
npx prisma migrate deploy
npx prisma generate
# Start the development server
pnpm dev
The project includes a comprehensive exercise database. To import a sample of exercises:
Your CSV should have these columns:
id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value
You can use the provided example.
# Import exercises from a CSV file
pnpm run import:exercises-full /path/to/your/exercises.csv
# Example with the provided sample data
pnpm run import:exercises-full ./data/sample-exercises.csv
id,name,name_en,description,description_en,full_video_url,full_video_image_url,introduction,introduction_en,slug,slug_en,attribute_name,attribute_value
157,"Fentes arrières à la barre","Barbell Reverse Lunges","<p>Stand upright...</p>","<p>Stand upright...</p>",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,TYPE,STRENGTH
157,"Fentes arrières à la barre","Barbell Reverse Lunges","<p>Stand upright...</p>","<p>Stand upright...</p>",https://youtube.com/...,https://img.youtube.com/...,slug-fr,slug-en,PRIMARY_MUSCLE,QUADRICEPS
STRENGTH
, CARDIO
, PLYOMETRICS
, STRETCHING
, etc.QUADRICEPS
, CHEST
, BACK
, SHOULDERS
, etc.BARBELL
, DUMBBELL
, BODYWEIGHT
, MACHINE
, etc.COMPOUND
, ISOLATION
This project follows Feature-Sliced Design (FSD) principles with Next.js App Router:
src/
├── app/ # Next.js pages, routes and layouts
├── processes/ # Business flows (multi-feature)
├── widgets/ # Composable UI with logic (Sidebar, Header)
├── features/ # Business units (auth, exercise-management)
├── entities/ # Domain entities (user, exercise, workout)
├── shared/ # Shared code (UI, lib, config, types)
└── styles/ # Global CSS, themes
shared
→ entities
→ features
→ widgets
→ app
features/
└── exercise-management/
├── ui/ # UI components (ExerciseForm, ExerciseCard)
├── model/ # Hooks, state management (useExercises)
├── lib/ # Utilities (exercise-helpers)
└── api/ # Server actions or API calls
Here are the next steps and goals for Workout.cool:
Feel free to suggest your ideas via issues!
We welcome contributions! Please see our Contributing Guide for details.
git checkout -b feature/amazing-feature
)git commit -m 'feat: add amazing feature'
)git push origin feature/amazing-feature
)# Build the Docker image
docker build -t workout-cool .
# Run the container
docker run -p 3000:3000 workout-cool
# Build the application
pnpm build
# Run database migrations
export DATABASE_URL="your-production-db-url"
npx prisma migrate deploy
# Start the production server
pnpm start
This project is licensed under the MIT License. See the LICENSE file for details.
This is about rebuilding what we lost, together.
Appear in the README and on the website as supporter by donating:
If you believe in open-source fitness tools and want to help this project thrive,
consider buying me a coffee ☕ or sponsoring the continued development.
Your support helps cover hosting costs, exercise database updates, and continuous improvement.
Thank you for keeping workout.cool alive and evolving 💪