Workout Tracker is a web-based fitness app that helps users create, manage, and track personalized workout programs. It combines modern web technologies with an intuitive design to offer a seamless, interactive experience.
Key Technologies
Backend: Flask (Python) - Provides a flexible framework for handling HTTP requests and core logic.
Frontend: HTMX - Enables dynamic content updates without complex JavaScript frameworks, delivering a responsive, single-page-like experience.
Database: SQLite3 - A lightweight solution that balances simplicity and functionality.
Core Features
User Management: Secure registration, authentication, and personalized profiles for tracking progress.
Fitness Programs: Users can create and customize multiple fitness programs.
Workouts: Structured planning with the ability to schedule and track workouts.
Exercises: Detailed exercise definitions, including repetitions, sets, and optional weights or duration.
Progress Tracking: Users can monitor their progress with visual indicators and statistics.
Technical Deep Dive
File Structure:
app.py: Main Flask app file.
db.py: Handles database connections.
auth.py: Manages user authentication.
routes/: Organizes UI and program management routes.
Design Choices:
HTMX: Selected for its ease of integration with Flask, offering dynamic user experiences.
Direct SQL: Opted over ORM for simplicity in this smaller-scale application.
Custom Authentication: Implemented for tailored user experiences.
User Guide
Clone the repository.
Install dependencies with pip install -r requirements.txt.
Initialize the database using db.sql.
Run the app with flask run.
Access the app via the local URL, register or log in, and start creating programs and workouts.
Future Enhancements
Implement flexible URL routing.
Improve UI styling for program and workout pages.
Enhance error handling, especially on the login page.
Develop a companion mobile app.
Add social features like sharing and community challenges.
Integrate data visualization tools for tracking progress.
Build a pre-populated exercise library.
Conclusion
Workout Tracker demonstrates the effective use of simple technologies to create a user-friendly fitness application. It caters to both beginners and experienced athletes, offering flexibility and functionality to support fitness goals.