FitTrack is a lightweight fitness web app for tracking daily movement and habits. It includes a step counter, water tracker, weekly summaries, progress views, motivational quotes, profile settings, and a simple dashboard for quick stats.
- Real-time step tracking on supported mobile browsers
- Water intake tracking with daily goals
- Weekly and progress summaries
- Distance and calorie estimates
- Daily motivation quotes
- Nutrition and profile pages
- Image formats showcase page
- Theme and app settings
- Service worker support for offline caching
- Gulp-based build pipeline for minifying and optimizing assets
- GitHub Actions workflow for validating HTML image references
index.html- home dashboardsteps.html- step counterweekly.html- weekly summarywater.html- water trackerquotes.html- motivational quotesnutrition.html- nutrition pageprofile.html- profile pageprogress.html- progress overviewdistance.html- distance trackerimages.html- image formats showcasesettings.html- app settingsabout.html- app overview
- Node.js and npm
- A modern browser
- Mobile device permissions for step tracking features
npm installStart the development server with BrowserSync:
npm startThen open the local server shown in the terminal, usually http://localhost:3000.
Create an optimized production build in dist:
npm run buildThe build process minifies HTML, CSS, and JavaScript, and optimizes images.
This project includes a GitHub Actions workflow that validates local image references in HTML files:
- Workflow file:
.github/workflows/image-load-check.yml - Script:
scripts/check_images.py
You can run the same check locally:
python3 scripts/check_images.pyThe step counter uses device motion sensors. On iOS, the browser may ask for motion permission before tracking can start. If step tracking does not begin automatically, allow motion access and try again on a supported mobile device.
*.html- app pages*.js- page scripts and shared behaviorstyle.css- global stylingimages/- image assetsgulpfile.js- build tasksservice-worker.js- offline support
ISC