Preview
Open Original
Gym LogBook
A React + TypeScript + Supabase application for tracking gym exercises and workout progress. Use it on your phone while at the gym!
Features
- ๐๏ธ Track exercises with sets, reps, and weight
- ๐ View workouts organized by week
- ๐ฏ Set and track exercise goals
- ๐ Create reusable workout templates
- ๐ Copy last weekโs weights for easy progressive overload
- โ๏ธ Cloud data storage with Supabase
- ๐ Secure user authentication
- ๐จ Multiple color themes (Blue, Red, Slate)
- ๐ฑ Mobile-friendly responsive design
- ๐พ PWA support - install on your phone!
Tech Stack
- React 19 - UI library
- TypeScript - Type safety
- Vite - Build tool & dev server
- Tailwind CSS - Styling
- Supabase - Backend & database (PostgreSQL)
- Vercel - Hosting platform -โฆ
Gym LogBook
A React + TypeScript + Supabase application for tracking gym exercises and workout progress. Use it on your phone while at the gym!
Features
- ๐๏ธ Track exercises with sets, reps, and weight
- ๐ View workouts organized by week
- ๐ฏ Set and track exercise goals
- ๐ Create reusable workout templates
- ๐ Copy last weekโs weights for easy progressive overload
- โ๏ธ Cloud data storage with Supabase
- ๐ Secure user authentication
- ๐จ Multiple color themes (Blue, Red, Slate)
- ๐ฑ Mobile-friendly responsive design
- ๐พ PWA support - install on your phone!
Tech Stack
- React 19 - UI library
- TypeScript - Type safety
- Vite - Build tool & dev server
- Tailwind CSS - Styling
- Supabase - Backend & database (PostgreSQL)
- Vercel - Hosting platform
- date-fns - Date utilities
Quick Start
1. Install Dependencies
npm install
2. Set Up Supabase
See DEPLOYMENT.md for full setup instructions.
Quick version:
- Create account at supabase.com
- Create new project
- Run
supabase/schema.sqlin SQL Editor - Copy your project URL and anon key
3. Configure Environment
cp .env.example .env
Edit .env and add your Supabase credentials:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key
4. Run Development Server
npm run dev
Visit http://localhost:5173
Deployment
See DEPLOYMENT.md for complete deployment guide to Vercel.
TLDR:
- Push to GitHub
- Import to Vercel
- Add environment variables
- Deploy!
Your app will be accessible on your phone at your Vercel URL.
Database Structure
exercises
โโโ id (uuid)
โโโ user_id (references auth.users)
โโโ name (text)
โโโ created_at (timestamp)
workouts
โโโ id (uuid)
โโโ user_id (references auth.users)
โโโ date (date)
โโโ title (text, optional)
โโโ notes (text, optional)
โโโ created_at (timestamp)
workout_exercises
โโโ id (uuid)
โโโ workout_id (references workouts)
โโโ exercise_id (references exercises)
โโโ notes (text, optional)
โโโ order_index (integer)
sets
โโโ id (uuid)
โโโ workout_exercise_id (references workout_exercises)
โโโ reps (integer)
โโโ weight (numeric)
โโโ order_index (integer)
exercise_goals
โโโ id (uuid)
โโโ user_id (references auth.users)
โโโ exercise_id (references exercises)
โโโ target_reps (integer, optional)
โโโ target_weight (numeric, optional)
โโโ created_at (timestamp)
workout_templates
โโโ id (uuid)
โโโ user_id (references auth.users)
โโโ name (text)
โโโ description (text, optional)
โโโ created_at (timestamp)
Security
- Row Level Security (RLS) enabled on all tables
- Users can only access their own data
- Secure authentication with Supabase Auth
- API keys stored in environment variables (never in code)
Roadmap
Future improvements:
- ๐ Progress charts and statistics
- ๐ Personal Records (PRs) tracking
- ๐ค Export workout history
- ๐ Workout reminders
Contributing
Feel free to fork and customize for your own use! This project is open source and contributions are welcome.
License
MIT