4.1 KiB
title: Wingfit created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, fitness, workout, typescript, react, node, simple] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=fitness, https://github.com/lucast他们都融汇 fit]
Wingfit 🪶
Tracker d'entraînements simple et élégant écrit en TypeScript. Conçu pour ceux qui veulent un outil sans fioritures : créer une routine, logger les séries, voir la progression.
| Métadonnée | Valeur |
|---|---|
| Site web | https://wingfit.app/ |
| GitHub | https://github.com/lucasgelfond/wingfit (à vérifier sur selfh.st) |
| Langage | TypeScript (React + Node.js) |
| Étoiles | ⭐20 (selfh.st rank) |
| Dernière MAJ | 2026-04-20 |
| Catégorie | cat-fitness |
Description
Wingfit est une application web épurée de suivi d'entraînements, pensée pour un usage solo ou petit groupe (famille, salle). L'interface privilégie la rapidité d'exécution : ouvrir l'app, sélectionner sa routine du jour, logger en quelques taps, fermer.
Fonctionnalités :
- Routines (jour push, jour pull, etc.)
- Exercices avec métriques (poids, reps, durée, distance)
- Historique par exercice avec visualisation
- Objectifs (charge cible, nombre de séances/semaine)
- Statistiques personnelles (volume hebdo, fréquence)
- Multi-utilisateurs simple (comptes séparés)
- PWA installable sur mobile
L'architecture est volontairement légère : frontend React + Vite + TypeScript, backend Express + Prisma, base SQLite par défaut (PostgreSQL possible). Le projet est plus petit que app-workout-tracker mais peut suffire pour un usage basique, et constitue une bonne base pédagogique à forker.
Note : le repo GitHub exact peut varier. Vérifier l'URL à jour sur https://selfh.st/apps/?tag=fitness avant déploiement.
Installation
Via Docker Compose
services:
wingfit-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: wingfit
POSTGRES_PASSWORD: ${DB_PASSWORD:-changeme}
POSTGRES_DB: wingfit
volumes:
- wingfit_db:/var/lib/postgresql/data
wingfit-api:
image: wingfit/wingfit-api:latest
restart: unless-stopped
depends_on:
- wingfit-db
environment:
DATABASE_URL: postgres://wingfit:${DB_PASSWORD:-changeme}@wingfit-db:5432/wingfit
JWT_SECRET: ${JWT_SECRET:-changez-moi}
ports:
- "4000:4000"
wingfit-web:
image: wingfit/wingfit-web:latest
restart: unless-stopped
depends_on:
- wingfit-api
ports:
- "3000:80"
volumes:
wingfit_db:
Installation manuelle
git clone https://github.com/lucast他们都融汇fit.git wingfit
cd wingfit
npm install
# Configurer la base (SQLite par défaut)
npm run db:migrate
npm run dev
Configuration
DATABASE_URL: SQLite (par défaut) ou PostgreSQLJWT_SECRET: pour l'authentification- Personnalisation via variables d'environnement classiques
- Pas de fichier YAML à maintenir pour les exercices : tout se fait via l'UI
Alternatives
Open source :
- app-workout-tracker : plus structuré, monorepo, Prisma
- app-workout-cool : design moderne, plus complet
- app-exercise-diary : encore plus minimaliste
- app-wger : référence riche mais plus lourde
- app-sparkyfitness : intègre nutrition
Propriétaire :
- Strong : référence mobile
- Hevy : freemium populaire
- FitNotes : Android simple et gratuit
Sécurité
- Changer tous les secrets par défaut
- HTTPS via reverse proxy (Caddy, Traefik)
- Sauvegarder le volume de base de données
- Restreindre l'accès réseau si usage strictement personnel
Ressources
- GitHub : https://github.com/lucast他们都融汇fit (vérifier l'URL sur selfh.st)
- selfh.st : https://selfh.st/apps/?tag=fitness
Pages Liées
- cat-fitness
- recettes-docker-compose
- app-workout-tracker — alternative plus structurée
- app-workout-cool — design moderne
- app-exercise-diary — encore plus simple