Introduction
Why FitTrack, how the course is structured, and what you’ll have built by the end. Open →
Introduction
Why FitTrack, how the course is structured, and what you’ll have built by the end. Open →
Setup & Tooling
Install Python (uv), the Supabase CLI, Flutter, and Node, and lay out the project. Open →
Supabase Foundation
Provision Supabase, model the Postgres schema and migrations, and turn on Auth. Open →
FastAPI Foundation
Stand up the async FastAPI app, config, structure, and a connection to Supabase Postgres. Open →
Auth (Supabase JWT)
Verify the Supabase-issued JWT in FastAPI and build a get_current_user dependency. Open →
Domain Model
Model exercises, workouts, and sets with Pydantic, SQLAlchemy, and repositories. Open →
Exercises API
Build the exercise-catalog CRUD, shared and user-created. Open →
Workouts API
Log workout sessions and their sets, and read back history. Open →
Progress & Stats
Aggregate personal records, volume over time, and per-exercise trends. Open →
Flutter — Foundation
Set up the Flutter app with Riverpod, Supabase auth, and an API client. Open →
Flutter — Tracking
Build the mobile tracking UI: start a workout, log sets, view history. Open →
Svelte Web Companion
Ship a SvelteKit dashboard that reads the same API. Open →
Testing
Cover the backend with pytest and the Flutter app with widget tests. Open →
Deployment
Containerize the API, run on hosted Supabase, and ship both clients. Open →
Wrap-up
Review what you built, the trade-offs, and where to take FitTrack next. Open →