59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
# 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.
|