--- title: Exercise Diary created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, fitness, exercise, diary, typescript, react, journal] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=fitness, https://github.com/Jods-Its/Calisthenics-app] --- # Exercise Diary 📓 > **Journal d'exercices minimaliste** écrit en TypeScript. Pour suivre ses entraînements au quotidien sans la complexité d'un tracker complet. Idéal pour un usage personnel ultra-léger. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://exercisediary.app/ | | **GitHub** | https://github.com/Jods-Its/Calisthenics-app | | **License** | MIT | | **Langage** | TypeScript (React + Vite) | | **Étoiles** | ⭐19 (selfh.st rank) | | **Dernière MAJ** | 2026-03-28 | | **Catégorie** | [[cat-fitness]] | ## Description **Exercise Diary** est dans la philosophie du **« moins, c'est mieux »**. Pas de routines complexes, pas de graphiques avancés, pas de fonctionnalités sociales : juste un **journal** où l'on note ce qu'on a fait, combien de répétitions, et éventuellement un commentaire. Le projet est né pour le **calisthenics** (entraînement au poids du corps) mais fonctionne pour toute activité. Fonctionnalités : - **Saisie rapide** d'un exercice (nom, reps, durée, notes) - **Catégorisation** par type (push, pull, legs, cardio…) - **Calendrier** d'activité - **Export JSON** pour sauvegarder ou migrer - **PWA** installable, utilisable hors-ligne - **100% local-first** (IndexedDB) possible L'**architecture** est volontairement **simple** : frontend **React + TypeScript + Vite**, pas de backend obligatoire (l'app peut fonctionner en local avec **IndexedDB**). Si déploiement serveur, un backend minimal **Express + SQLite** est fourni. C'est un excellent **point de départ** pour un développeur qui veut un outil personnel simple à maintenir. ## Installation ### Via Docker Compose ```yaml services: exercise-diary: build: https://github.com/Jods-Its/Calisthenics-app.git restart: unless-stopped ports: - "8080:8080" environment: TZ: Europe/Paris # Mode local par défaut, pas de DB externe nécessaire ``` ### Installation manuelle (mode local) ```bash git clone https://github.com/Jods-Its/Calisthenics-app.git cd Calisthenics-app npm install npm run dev # App accessible sur http://localhost:5173 ``` ### Mode serveur (persistance) ```bash # Utiliser le mode serveur pour partager entre appareils NODE_ENV=production npm run build npm start ``` ## Configuration - **Pas de configuration** obligatoire : tout se fait via l'UI - Le **stockage local** (IndexedDB) garde vos données dans le navigateur - Le **mode serveur** permet d'accéder depuis plusieurs appareils - **Export/Import JSON** pour les sauvegardes et la migration ## Alternatives **Open source** : - [[app-wingfit]] : même philosophie, un peu plus structuré - [[app-workout-tracker]] : version monorepo plus complète - [[app-workout-cool]] : design moderne, plus de features - [[app-wger]] : très complet (mais plus lourd) **Propriétaire** : - **Strong** : référence iOS/Android, payante - **FitNotes** : Android, gratuit, simple - **Workit** : apps mobiles basiques ## Sécurité - En **mode local** : données stockées dans le navigateur, penser à exporter régulièrement - En **mode serveur** : HTTPS obligatoire, accès restreint (usage personnel) - Pas d'auth intégrée : mettre derrière un **reverse proxy auth** (Authelia, Authentik) si besoin - Sauvegarder les **exports JSON** sur un support externe ## Ressources - **GitHub** : https://github.com/Jods-Its/Calisthenics-app - **selfh.st** : https://selfh.st/apps/?tag=fitness ## Pages Liées - [[cat-fitness]] - [[recettes-docker-compose]] - [[app-wingfit]] — même philosophie - [[app-workout-tracker]] — version plus complète - [[app-workout-cool]] — design moderne