clawd 175434f5c8 feat(02-02): wire deleteLog through App.jsx and WorkoutPage to ExerciseCard
- Added deleteLog function in App.jsx: calls DELETE /api/logs and removes entry from local logs state
- Passed onDeleteSet={deleteLog} to WorkoutPage in workout view render
- Updated WorkoutPage function signature to accept onDeleteSet prop
- Passed onDeleteSet through to each ExerciseCard (ExerciseCard already calls it in handleDeleteSet)
- Non-logged sets (404 from backend) silently ignored via catch block
2026-02-21 18:44:58 +01:00
2026-02-01 00:23:49 +01:00

Gravl - Träningsapp

En enkel träningsapp för att följa PPL-program (Push/Pull/Legs) med progressionsspårning.

Features

  • 📋 PPL Program - 6-dagars Push/Pull/Legs split
  • 📊 Träningslogg - Logga vikt/reps för varje set
  • 📈 Progression - Automatiska viktrekommendationer
  • 📱 Mobilanpassad - Fungerar perfekt på telefon
  • 🌙 Mörkt tema - Bekvämt för gymmet

Tech Stack

  • Frontend: React (Vite) + CSS
  • Backend: Node.js/Express
  • Database: PostgreSQL
  • Container: Docker med nginx

Quick Start

# Initiera databasen
psql -h localhost -U postgres -d gravl -f db/init.sql

# Starta med Docker Compose
cd /workspace/gravl
docker compose up -d --build

Åtkomst

API Endpoints

Endpoint Method Beskrivning
/api/health GET Hälsokontroll
/api/programs GET Lista alla program
/api/programs/:id GET Hämta program med dagar
/api/days/:id/exercises GET Hämta övningar för en dag
/api/logs GET Hämta träningsloggar
/api/logs POST Logga ett set
/api/progression/:id GET Få viktrekommendation

Databasschema

  • programs - Träningsprogram
  • program_days - Dagar i programmet (Push A, Pull A, etc.)
  • exercises - Övningar (Bench Press, Squat, etc.)
  • program_exercises - Kopplar övningar till dagar med sets/reps
  • workout_logs - Loggade träningsset

Progression

Appen rekommenderar att öka vikten med 2.5kg när du når max reps på alla sets.

S
Description
Träningsapp - Gravl klon
Readme 19 MiB
Languages
JavaScript 62%
CSS 28.7%
Shell 8.8%
TypeScript 0.2%
HTML 0.2%
Other 0.1%