Ein moderner deutscher Fitness Tracker mit Fortschrittsverfolgung und Visualisierung. Gebaut mit TypeScript, Node.js, React und Chart.js.
- Übersicht über alle Trainingsaktivitäten
- Statistiken zu Trainingseinheiten, Übungen und Wiederholungen
- Letzte Trainingseinheiten auf einen Blick
- Detaillierte Übungsstatistiken
- Benutzerfreundliches Formular für neue Trainingseinheiten
- Auswahl aus vorgefertigten Übungen
- Eingabe von Sätzen, Wiederholungen und Gewicht
- Notizen für zusätzliche Informationen
- Live-Vorschau der eingegebenen Daten
- Vollständige Liste aller Trainings
- Filterung nach Übung
- Sortierung nach Datum, Übung oder Wiederholungen
- Gruppierung nach Trainingsdatum
- Detaillierte Trainingsansicht mit Metriken
- Interaktive Diagramme mit Chart.js
- Wiederholungen über die Zeit verfolgen
- Gewichtsentwicklung visualisieren
- Kombinierte Darstellungen für umfassende Analyse
- Statistiken und Zusammenfassungen
- Brustpresse - Krafttraining für die Brustmuskulatur
- Lat-Zug - Krafttraining für den breiten Rückenmuskel
- Bizeps-Curl - Krafttraining für den Bizeps
- Trizeps-Push Backs - Krafttraining für den Trizeps
- Schulterdrücken - Krafttraining für die Schultern
- Beinpresse - Krafttraining für die Oberschenkel
- Kniebeugen - Krafttraining für Beine und Gesäß
- Node.js mit Express.js
- TypeScript für Typsicherheit
- SQLite Datenbank für lokale Speicherung
- CORS für Cross-Origin Requests
- React 18 mit TypeScript
- Vite als Build-Tool und Entwicklungsserver
- Chart.js mit react-chartjs-2 für Diagramme
- Lucide React für moderne Icons
- Concurrently für parallele Entwicklung
- Nodemon für automatische Server-Neustarts
- ts-node für TypeScript Ausführung
- Node.js >= 18.0.0
- npm oder yarn
git clone <repository-url>
cd fitness-tracker-denpm installnpm run devDies startet:
- Backend Server auf Port 5000
- Frontend Development Server auf Port 3000
- Automatische Neustarts bei Änderungen
Öffne deinen Browser und gehe zu http://localhost:3000
# Development - startet Backend und Frontend gleichzeitig
npm run dev
# Nur Backend starten
npm run dev:server
# Nur Frontend starten
npm run dev:client
# Produktion Build erstellen
npm run build
# Produktion Server starten (nach Build)
npm start
# Frontend Preview nach Build
npm run previewDie Anwendung verwendet SQLite für lokale Datenspeicherung. Die Datenbank wird automatisch initialisiert mit:
- users - Benutzerinformationen (Julius, Philipp)
- exercises - Verfügbare Übungen mit Muskelgruppen
- training_sessions - Alle Trainingseinheiten mit Details
Beim ersten Start werden automatisch Sample-Daten für beide Benutzer erstellt.
- Glasmorphism Design mit transparenten Elementen
- Gradiente Farbschemen in Blau und Lila
- Smooth Animationen und Hover-Effekte
- Responsive Design für alle Bildschirmgrößen
- Deutsche Benutzeroberfläche
- Sidebar Navigation mit Benutzerauswahl
- Tab-basierte Hauptnavigation
- Card-basierte Inhaltsdarstellung
- Grid-Layouts für optimale Platzausnutzung
Die Anwendung ist vollständig responsive und optimiert für:
- Desktop (1024px+)
- Tablet (768px - 1024px)
- Mobile (320px - 768px)
GET /api/users- Alle Benutzer abrufenGET /api/health- API Health Check
GET /api/exercises- Alle Übungen abrufen
GET /api/sessions- Alle TrainingseinheitenGET /api/sessions/user/:userId- Einheiten eines BenutzersPOST /api/sessions- Neue Trainingseinheit hinzufügen
GET /api/progress/:userId/:exerciseId- Fortschrittsdaten für eine Übung
- Benutzer-ID: 1
- Avatar: 🧑💼
- Sample-Trainingseinheiten vorinstalliert
- Benutzer-ID: 2
- Avatar: 👨💻
- Sample-Trainingseinheiten vorinstalliert
- Weitere Übungen hinzufügen
- Trainingsplan-Funktionalität
- Export/Import von Daten
- Kalender-Integration
- Moblie App
- Social Features
- Foto-Upload für Übungen
- Statistik-Dashboard erweitern
Port bereits belegt:
# Windows
netstat -ano | findstr :5000
taskkill /PID <PID> /F
# macOS/Linux
lsof -ti:5000 | xargs killDatenbank zurücksetzen:
# Lösche fitness_tracker.db und starte den Server neu
rm fitness_tracker.db
npm run dev:serverDependencies Probleme:
# Cache leeren und neu installieren
rm -rf node_modules package-lock.json
npm installMIT License - Siehe LICENSE Datei für Details.
Julius & Philipp - Eure persönliche Fitness-Tracking Lösung!
Happy Training! 💪