Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,146 @@
---
title: Workout Tracker
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, fitness, workout, tracker, typescript, react, node, prisma]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=fitness, https://github.com/c-hive/gha-dev]
---
# Workout Tracker 💪
> Application **minimaliste et efficace** de suivi d'entraînements, écrite en TypeScript. Pensée pour un usage personnel rapide : créer une routine, logger les sets, suivre la progression.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://workout-tracker.dev/ |
| **GitHub** | https://github.com/c-hive/gha-dev |
| **License** | MIT |
| **Langage** | TypeScript (React + Node.js) |
| **Étoiles** | ⭐48 (selfh.st rank) |
| **Dernière MAJ** | 2026-05-05 |
| **Catégorie** | [[cat-fitness]] |
## Description
**Workout Tracker** est une application web légère qui fait **exactement ce qu'on attend d'un tracker d'entraînements** : définir des exercices, créer des routines, logger les séries (poids, répétitions), et visualiser la progression dans le temps. Pas de fonctionnalités gadget, pas de nutrition, pas de réseau social : juste l'**essentiel bien fait**.
Caractéristiques :
- **Exercices** personnalisés ou depuis un catalogue
- **Routines** réutilisables (push, pull, legs, etc.)
- **Logging rapide** des séries avec auto-suggestion des valeurs précédentes
- **Historique** consultable par exercice
- **Graphiques de progression** (charge, volume, 1RM estimé)
- **Mode hors-ligne** partiel (PWA)
- **Thème sombre** par défaut
- **API REST** pour intégrations tierces
L'**architecture technique** utilise **React 18** + **Vite** côté frontend, **Node.js + Fastify** côté backend, et **Prisma + PostgreSQL** comme couche de données. Le code est **modulaire, typé strict**, et bien structuré pour servir de base à des personnalisations. Idéal pour un développeur qui veut **forker et adapter** à son flow.
## Installation
### Via Docker Compose
```yaml
services:
workout-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: workout
POSTGRES_PASSWORD: ${DB_PASSWORD:-changeme}
POSTGRES_DB: workout
volumes:
- workout_db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U workout"]
interval: 10s
timeout: 5s
retries: 5
workout-api:
build:
context: https://github.com/c-hive/gha-dev.git
dockerfile: apps/api/Dockerfile
restart: unless-stopped
depends_on:
workout-db:
condition: service_healthy
environment:
DATABASE_URL: postgres://workout:${DB_PASSWORD:-changeme}@workout-db:5432/workout
JWT_SECRET: ${JWT_SECRET:-changez-moi}
PORT: 3001
ports:
- "3001:3001"
workout-web:
build:
context: https://github.com/c-hive/gha-dev.git
dockerfile: apps/web/Dockerfile
restart: unless-stopped
depends_on:
- workout-api
environment:
VITE_API_URL: http://localhost:3001
ports:
- "3000:80"
volumes:
workout_db:
```
### Installation manuelle (Monorepo)
```bash
git clone https://github.com/c-hive/gha-dev.git
cd gha-dev
pnpm install
# Backend
pnpm --filter api db:migrate
pnpm --filter api dev
# Frontend
pnpm --filter web dev
```
## Configuration
- `DATABASE_URL` : PostgreSQL
- `JWT_SECRET` : token d'authentification
- Personnalisation des **exercices** et **routines** via l'UI (pas de YAML à maintenir)
- **Import/Export** JSON pour migrer ou sauvegarder
## Alternatives
**Open source** :
- [[app-wger]] : plus complet (nutrition incluse) mais plus lourd
- [[app-workout-cool]] : design moderne, davantage de features sociales
- [[app-sparkyfitness]] : intègre nutrition et santé
- [[app-exercise-diary]] : encore plus minimaliste, focus journal simple
- **Hevy** (clone libre) : interface familière pour anciens utilisateurs de Strong
**Propriétaire** :
- **Strong** : référence iOS/Android, payante
- **Hevy** : version freemium, populaire
- **FitNotes** : Android gratuit
## Sécurité
- **Changer** `DB_PASSWORD` et `JWT_SECRET` par défaut
- **HTTPS obligatoire** via reverse proxy
- Sauvegarder le volume `workout_db` régulièrement (`pg_dump`)
- Si exposition publique : **rate-limit** sur l'API et 2FA si multi-utilisateurs
## Ressources
- **GitHub** : https://github.com/c-hive/gha-dev
- **selfh.st** : https://selfh.st/apps/?tag=fitness
## Pages Liées
- [[cat-fitness]]
- [[recettes-docker-compose]]
- [[app-wger]] — version plus riche
- [[app-workout-cool]] — design moderne
- [[app-exercise-diary]] — minimaliste