A web-based workout planner and logger that helps users track their running and cycling activities. Built with PHP, MySQL, HTML, CSS, JavaScript, and Leaflet.js for an interactive map experience.
- 🗺️ Display map centered on user's current location.
- 📍 If location is denied, show a default location.
- ✍️ Log running and cycling workouts with distance, duration, cadence, and elevation gain.
- 👤 User authentication (Login/Register).
- 📈 Track user's daily steps.
- 🔔 Prompt users to complete profile (like setting height) if missing.
- 🧠 Smart error handling and location request retrying.
- Frontend: HTML, CSS, JavaScript, Leaflet.js
- Backend: PHP
- Database: MySQL
- Other Libraries:
- Toastify.js (notifications)
- Leaflet.js (maps)
- Clone the repository:
- Set up a local server:
- Use XAMPP / MAMP / WAMP.
- Place project inside /htdocs (for XAMPP).
- Create MySQL database:
- Import the provided database.sql file (if available).
- Update backend/config.php with your DB credentials.
- Run the app:
- Visit http://localhost/workout-planner/public/ .
You might need to configure:
- DB_HOST
- DB_USER
- DB_PASSWORD
- DB_NAME
- 📱 Make it fully responsive for mobile.
- 🎯 Add goal tracking (e.g., 5K run goal).
- 🏆 Implement badges/achievements.
- 🧩 Export workouts to CSV or JSON.
- 🧠 Improve error handling and offline support.
- Leaflet.js
- Toastify.js
- OpenStreetMap
This project is licensed under the MIT License — feel free to use, modify, and distribute it!
Feel free to reach out if you have suggestions or questions:
GitHub: Rafael Walder
Email: rafaelwalder99@gmail.com