A modern, responsive fitness tracking web application built with vanilla JavaScript, HTML5, and CSS3
π Try Live Demo β’ Features β’ Installation β’ Usage β’ Contributing
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
FitVibe is a comprehensive fitness tracking web application designed to help users monitor their daily activities, set fitness goals, and track their progress over time. Built with modern web technologies and following mobile-first design principles, it provides an intuitive and engaging user experience across all devices.
- Real-time Activity Tracking: Monitor steps, calories burned, distance traveled, and active minutes
- Progress Visualization: Beautiful circular progress rings with smooth animations
- Goal Management: Set and track daily fitness goals
- Activity History: Comprehensive logging of all fitness activities
- Workout Library: Extensive collection of workouts across different categories
- Workout Categories: Strength, Cardio, Yoga, and HIIT workouts
- Difficulty Levels: Beginner to Advanced workout options
- Custom Workouts: Create and save personalized workout routines
- Weekly/Monthly/Yearly Views: Comprehensive progress analytics
- Achievement System: Unlock badges and milestones
- Trend Analysis: Visual charts showing fitness improvements
- Goal Achievement: Track completion of fitness objectives
- Personal Profile: Customize your fitness profile
- Health Metrics: BMI calculation and health data tracking
- Social Features: Connect with friends and join challenges
- Settings Management: Personalize app preferences
- Responsive Layout: Optimized for all screen sizes (320px to 1920px+)
- Touch-Friendly Interface: Intuitive gestures and interactions
- Progressive Web App: Works offline and can be installed on mobile devices
- Fast Performance: Smooth animations and quick load times
- HTML5: Semantic markup and accessibility features
- CSS3: Modern styling with custom properties, flexbox, and grid
- JavaScript (ES6+): Modular architecture with classes and modules
- Lucide Icons: Beautiful, customizable SVG icons
- Modular Design: Separated concerns with dedicated managers
- Event-Driven: Custom event system for component communication
- Local Storage: Client-side data persistence
- Responsive Design: Mobile-first approach with breakpoints
βββ js/
β βββ dataManager.js # Data persistence and management
β βββ workoutManager.js # Workout logic and tracking
β βββ stepCounter.js # Step counting and activity tracking
β βββ healthManager.js # Health metrics and BMI calculations
β βββ achievementManager.js # Achievement system and badges
β βββ uiManager.js # UI state and screen management
βββ styles.css # Modern CSS with custom properties
βββ script.js # Main application initialization
βββ index.html # Semantic HTML structure
- Modern web browser (Chrome 70+, Firefox 65+, Safari 12+, Edge 79+)
- Local web server (for development)
-
Clone the repository
git clone https://github.com/yourusername/fittracker.git cd fittracker
-
Start a local server
# Using Python 3 python -m http.server 8000 # Using Node.js (if you have http-server installed) npx http-server # Using PHP php -S localhost:8000
-
Open in browser
http://localhost:8000
You can also open index.html
directly in your browser, though some features may require a local server.
- First Launch: The app will show an onboarding screen with feature highlights
- Dashboard: View your daily activity summary and progress rings
- Set Goals: Customize your daily step, calorie, and activity goals
- Track Activities: Use the step counter or manually log workouts
- Monitor Progress: Check your weekly/monthly progress in the Progress tab
- Automatic step counting simulation
- Manual step entry
- Real-time progress updates
- Goal achievement notifications
- Browse workout categories (Strength, Cardio, Yoga, HIIT)
- Start workout sessions with timers
- Track workout completion
- Save favorite workouts
- View detailed statistics
- Track goal completion rates
- Monitor fitness trends
- Earn achievement badges
- Update personal information
- Set fitness goals
- Manage health data
- Customize app settings
- Dark Theme: Sleek dark interface with accent colors
- Smooth Animations: 60fps animations with CSS transitions
- Glass Morphism: Modern frosted glass effects
- Micro-interactions: Subtle hover and click feedback
- Semantic HTML: Proper heading hierarchy and landmarks
- Keyboard Navigation: Full keyboard accessibility
- Screen Reader Support: ARIA labels and descriptions
- High Contrast: Accessible color combinations
- Lightweight: No external frameworks or heavy dependencies
- Fast Loading: Optimized assets and minimal HTTP requests
- Smooth Scrolling: Hardware-accelerated animations
- Memory Efficient: Proper cleanup and garbage collection
// Default goals can be modified in dataManager.js
const defaultGoals = {
daily: {
steps: 10000,
calories: 2500,
distance: 10,
activeMinutes: 60
}
};
/* Custom properties in styles.css */
:root {
--accent-green: #00ff88;
--accent-blue: #00d4ff;
--accent-orange: #ff6b35;
--accent-purple: #8b5cf6;
}
We welcome contributions to FitTracker! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow ES6+ JavaScript standards
- Use semantic HTML and accessible markup
- Maintain responsive design principles
- Add comments for complex functionality
- Test across multiple browsers and devices
Browser | Version | Status |
---|---|---|
Chrome | 70+ | β Fully Supported |
Firefox | 65+ | β Fully Supported |
Safari | 12+ | β Fully Supported |
Edge | 79+ | β Fully Supported |
Opera | 57+ | β Fully Supported |
- Step counter uses simulation data (real pedometer integration requires native app)
- Offline functionality limited to cached data
- GPS tracking not implemented (planned for future release)
- Real GPS tracking integration
- Social features and friend challenges
- Nutrition tracking
- Wearable device integration
- Advanced analytics and insights
- PWA offline functionality
- Push notifications
- Data export/import
- Custom workout builder
This project is licensed under the MIT License - see the LICENSE file for details.
Mutlu Kurt
- Email: mutlukurta@gmail.com
- GitHub: @mutlukurt
- Lucide Icons for the beautiful icon set
- Inter Font for the clean typography
- Modern CSS techniques and best practices from the web development community
β Star this repository if you found it helpful!
Made with β€οΈ by Mutlu Kurt