Introduction
ทำไมต้อง FitTrack, คอร์สนี้จัดโครงสร้างยังไง และเมื่อจบแล้วคุณจะได้สร้างอะไรบ้าง Open →
Introduction
ทำไมต้อง FitTrack, คอร์สนี้จัดโครงสร้างยังไง และเมื่อจบแล้วคุณจะได้สร้างอะไรบ้าง Open →
Setup & Tooling
ติดตั้ง Python (uv), Supabase CLI, Flutter และ Node แล้ววางโครงสร้างโปรเจกต์ Open →
Supabase Foundation
provision Supabase, ออกแบบ schema และ migration ของ Postgres แล้วเปิด Auth Open →
FastAPI Foundation
สร้างแอป FastAPI แบบ async, config, โครงสร้าง และเชื่อมต่อไปยัง Supabase Postgres Open →
Auth (Supabase JWT)
verify JWT ที่ Supabase ออกให้ใน FastAPI แล้วสร้าง dependency get_current_user Open →
Domain Model
ออกแบบ exercise, workout และ set ด้วย Pydantic, SQLAlchemy และ repository Open →
Exercises API
สร้าง CRUD ของ exercise catalog ทั้งแบบ shared และที่ user สร้างเอง Open →
Workouts API
บันทึก workout session พร้อม set ทั้งชุด แล้วอ่าน history กลับมา Open →
Progress & Stats
รวมค่า personal record, volume ตามช่วงเวลา และ trend ของแต่ละ exercise Open →
Flutter — Foundation
ตั้งค่าแอป Flutter ด้วย Riverpod, Supabase auth และ API client Open →
Flutter — Tracking
สร้าง UI สำหรับ tracking บน mobile: เริ่ม workout, บันทึก set, ดู history Open →
Svelte Web Companion
ส่ง dashboard บน SvelteKit ที่อ่าน API เดียวกัน Open →
Testing
เขียน test ครอบ backend ด้วย pytest และแอป Flutter ด้วย widget test Open →
Deployment
containerize API, รันบน Supabase ที่ hosted แล้ว ship ทั้งสอง client Open →
Wrap-up
ทบทวนสิ่งที่สร้าง, trade-off ต่าง ๆ และจะพา FitTrack ไปต่อทางไหน Open →