Apex Pulse
1 / 4Features
Shipped12
- Auth
- Dashboard
- Antrenamente — Liste Planuri
- Antrenamente — Plan Detail
- Antrenamente — Quick Start
- Antrenamente — Statistici
- Sesiune Activă
- Exerciții
- Istoric
- Progres
- Profil
- Generare Plan AI
In Progress6
- Nutriție — Log Zilnic
- Nutriție — Scanare Cod de Bare
- Nutriție — Obiectiv Caloric
- Nutriție — Hidratare
- Nutriție — Split Macro
- Subscripții Stripe
Database schema
Global exercise library (user_id = null) + user-created custom exercises (is_custom = true). Pre-seeded with ~46 global exercises.
User-created workout plans.
Junction table: exercises within a plan with sets, reps, rest, and display order.
A single workout session. finished_at = null means in-progress. workout_plan_id = null for free/unplanned sessions.
Per-set logs within a session. weight = null for bodyweight. RPE range 6.0–10.0.
Daily body weight entries in kg.
User profile extended with Stripe subscription data. subscription_status defaults to 'free'.
Stripe webhook idempotency log. id = Stripe evt_xxx. No RLS for frontend; service_role only.
Cached food items from USDA FDC and Open Food Facts. barcode stores EAN-13/UPC-A for barcode scan lookup. user_id = null for shared cache.
Daily nutrition totals per user. UNIQUE(user_id, log_date). Totals auto-updated by trigger on meal_entries.
Individual food entries per meal within a nutrition log. Soft-deleted via deleted_at. Trigger updates parent nutrition_logs totals.
User calorie and macro goals (one row per user). protein_pct + carbs_pct + fat_pct must equal 100.
Tracks how often each user uses a food item. Updated by trigger on meal_entries insert. Powers 'frequent foods' suggestions.