Moderne Fitness-App für Workout-, Exercise- und Goal-Management
Live Demo: https://fitness-tracker-zhaw.netlify.app/
Der Fitness Tracker ist eine vollständige Web-Anwendung zur Verwaltung von Fitness-Aktivitäten. Mit einem modernen UI/UX Design und umfassenden Features für Workout-Planung, Exercise-Management und Goal-Tracking.
Vollständig responsive Design für alle Geräte
$state()
und $derived()
Patterns$effect()
für Side Effects und Analytics# Repository klonen
git clone [repository-url]
cd fitness-tracker
# Dependencies installieren
npm install
# Environment Variables konfigurieren
cp .env.example .env
# MONGODB_URI in .env eintragen
# Development Server starten
npm run dev
# Production Build
npm run build
npm run preview
📦 Deployment
Automatisches Deployment über Netlify:
Repository: GitHub Integration
Build Command: npm run build
Publish Directory: build
Environment Variables: MONGODB_URI konfiguriert
🔄 TODOs & Geplante Features
🏃♂️ Kurzfristig (nächste Iteration)
Bilder/Medien Integration
Exercise-GIFs für bessere Visualisierung
Workout-Thumbnail Images
Hero-Section Background Images
App-Logo und Branding
UI/UX Verbesserungen
Erweiterte Filter-Optionen
Bulk-Actions für mehrere Entities
Drag & Drop für Workout-Exercise Reihenfolge
💪 Mittelfristig (Major Features)
Workout Sessions System
Live Session-Tracking während Training
Timer und Rest-Period Management
Set/Rep Eingabe in Echtzeit
Session History und Analytics
Performance-Vergleiche zwischen Sessions
User Authentication
Multi-User Support mit Login/Logout
Personal Dashboards
Privacy Settings
Data Import/Export per User
Social Features
Workout Sharing zwischen Usern
Community Goals und Challenges
Leaderboards und Achievements
Comment-System für Workouts
🔮 Langfristig (Advanced Features)
Mobile App
React Native oder Progressive Web App
Offline-Funktionalität
Push Notifications für Goals
Wearable Integration (Smartwatch)
AI & Machine Learning
Workout-Empfehlungen basierend auf Goals
Automatische Progress-Prediction
Form-Check via Computer Vision
Personalisierte Training-Pläne
External Integrations
Fitness-Tracker APIs (Fitbit, Garmin)
Nutrition Database Integration
Calendar-Sync für Workout-Planung
Health App Synchronisation
🧪 Technische Verbesserungen
Performance Optimizations
Database Indexing für bessere Query-Performance
Image Optimization und CDN Integration
Service Worker für Offline-Capability
Bundle Size Optimization
Testing & Quality
Unit Tests mit Vitest
E2E Tests mit Playwright
TypeScript Migration
ESLint/Prettier Setup
DevOps & Monitoring
Error Tracking mit Sentry
Performance Monitoring
Automated Testing Pipeline
Database Backup Strategy
👨💻 Entwicklung
## Code-Struktur
```md
src/
├── lib/
│ ├── components/ # Wiederverwendbare Svelte Components
│ │ ├── Navigation.svelte # Hauptnavigation mit Theme Toggle
│ │ └── ThemeToggle.svelte # Dark/Light Mode Toggle
│ ├── stores/ # State Management
│ │ ├── theme-simple.js # Svelte 5 Compatible Theme Store (✅ Active)
│ │ ├── theme-svelte5.js # Advanced Reactive Theme Store
│ │ ├── theme-runes.js # Legacy Runes Attempt
│ │ └── theme.js # Original Legacy Theme Store
│ ├── database/ # MongoDB Models und Connection
│ │ ├── mongodb.js # Database Connection
│ │ └── models/ # Data Models
│ └── styles/ # Global CSS und Themes
│ └── global.css # CSS Custom Properties & Theme System
├── routes/
│ ├── +layout.svelte # App Layout mit Navigation
│ ├── +page.svelte # Landing Page
│ ├── workouts/ # Workout CRUD Pages
│ │ ├── +page.server.js # Server-side Data Loading
│ │ ├── +page.svelte # Workouts Overview
│ │ ├── create/ # Workout Creation
│ │ └── [id]/ # Individual Workout Details
│ ├── exercises/ # Exercise CRUD Pages
│ │ ├── +page.server.js # Exercise Data & Filtering
│ │ ├── +page.svelte # Exercise Database
│ │ ├── create/ # Exercise Creation
│ │ └── [id]/ # Exercise Details & Edit
│ ├── goals/ # Goals CRUD Pages
│ │ ├── +page.server.js # Goals Data Management
│ │ ├── +page.svelte # Goals Dashboard
│ │ ├── create/ # Goal Creation
│ │ └── [id]/ # Goal Details & Progress
│ ├── sessions/ # Training Sessions (Coming Soon)
│ │ └── +page.svelte # Coming Soon Page with Roadmap
│ ├── stats/ # Statistics Dashboard
│ │ ├── +page.server.js # MongoDB Aggregation Pipelines
│ │ └── +page.svelte # Analytics & Visualizations
│ ├── about/ # About Page
│ ├── help/ # Help & Support
│ ├── privacy/ # Privacy Policy
│ ├── terms/ # Terms of Service
└── app.html # Main HTML Template
Development Guidelines
- Svelte 5 Runes: Verwende $state(), $derived(), $effect()
- Error Handling: Immer try/catch mit user-friendly Messages
- MongoDB: Verwende Aggregation Pipelines für komplexe Queries
- Responsive Design: Mobile-First Approach
- Accessibility: Semantic HTML und ARIA Labels
📄 Lizenz
MIT License - Siehe LICENSE.md für Details 🤝 Contributing
Contributions sind willkommen! Bitte erstelle einen Pull Request mit:
- Klare Beschreibung der Änderungen
- Tests für neue Features
- Dokumentation Updates
Erstellt mit ❤️ und Svelte 5 für das ZHAW Prototyping Modul