# 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

```bash
# 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

- **URL:** https://gravl.homelab.local
- **API:** https://gravl.homelab.local/api

## 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.
