clawd 9d7cfddb4f test: convert phase-06-tests.js from Jest to Node.js native test runner
Replace describe/before/it/expect() (Jest) with the node:test module
and node:assert. All test logic, endpoints, and assertion semantics are
preserved; the file now runs with: node --test backend/test/phase-06-tests.js

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-28 01:38:07 +02: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%