Files
wiki/Catalogue-Self-Hosted/apps/app-wingfit.md
T
2026-06-09 18:40:21 +02:00

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 PostgreSQL
  • JWT_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 :

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

Pages Liées