Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codecaine-zz/workout_interval_timer
A workout interval timer using python as the backend with pywebview as the frontend using html, css, and javascript
https://github.com/codecaine-zz/workout_interval_timer
bootstrap5 exercises fitness fitness-app fitness-tracker interval intervals javascript python timer workout
Last synced: 27 days ago
JSON representation
A workout interval timer using python as the backend with pywebview as the frontend using html, css, and javascript
- Host: GitHub
- URL: https://github.com/codecaine-zz/workout_interval_timer
- Owner: codecaine-zz
- License: mit
- Created: 2023-03-22T19:56:55.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-31T23:37:45.000Z (5 months ago)
- Last Synced: 2024-08-01T02:56:59.485Z (5 months ago)
- Topics: bootstrap5, exercises, fitness, fitness-app, fitness-tracker, interval, intervals, javascript, python, timer, workout
- Language: JavaScript
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Workout Interval Timer Application
## Overview
The Workout Interval Timer is a web-based application wrapped in a desktop interface using Python and pywebview. It helps users manage their workouts by providing a customizable timer for exercises, sets, and rest periods.
## Features
- **Add Custom Workouts**: Specify exercise name, reps, sets, interval, and rest time.
- **Workout List Management**: View added workouts and clear the list as needed.
- **Interactive Timer**: Start, pause, and resume your workout session.
- **Progress Tracking**: Displays current exercise, set, and workout state (exercise or rest).
- **Completion Alerts**: Visual and auditory notifications when workouts are completed.
- **Text-to-Speech**: Voice announcements for transitions between exercises and rest periods.
- **Responsive Design**: Adapts to different screen sizes for optimal viewing.## Prerequisites
- Python 3.6 or higher
- pywebview library## Installation
1. Clone the repository:
```
git clone https://github.com/codecaine-zz/workout_interval_timer
cd workout-interval-timer
```2. Install the required Python library:
```
pip install pywebview
```## Project Structure
```
workout-interval-timer/
│
├── main.py
├── workout_timer.html
├── workout_timer.js
├── workout_timer.css
└── README.md
```## Implementation Details
### HTML (workout_timer.html)
The HTML file provides the structure for the user interface, including input fields for workout details, buttons for control, and display areas for the timer and current workout information.
### JavaScript (workout_timer.js)
The JavaScript file contains the core functionality of the application, including:
- Workout management (adding, clearing)
- Timer logic
- State management
- Display updates
- Text-to-speech functionality### CSS (workout_timer.css)
The CSS file styles the application, ensuring a clean, responsive, and user-friendly interface.
### Python (main.py)
The Python script uses pywebview to create a desktop application window that loads the HTML file:
```python
import webviewdef start_app():
webview.create_window('Workout Interval Timer', 'workout_timer.html', width=800, height=600)
webview.start()if __name__ == '__main__':
start_app()
```## Running the Application
To launch the Workout Interval Timer:
```bash
python main.py
```## Usage
1. **Adding a Workout**:
- Fill in the exercise details (name, reps, sets, interval, rest time).
- Click "Add Workout" to add it to the list.2. **Starting the Timer**:
- After adding workouts, click "Start" to begin the timer.3. **During the Workout**:
- The timer will count down for each exercise and rest period.
- The current exercise, set, and state will be displayed.
- Voice announcements will guide you through transitions.4. **Pausing and Resuming**:
- Click "Pause" to pause the timer at any time.
- Click "Start" again to resume.5. **Clearing Workouts**:
- Click "Clear Workouts" to remove all workouts from the list.## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
## Acknowledgments
- pywebview library for enabling the desktop wrapper.
- Bootstrap for providing the CSS framework.---
For more information or to report issues, please visit the [GitHub repository](https://github.com/codecaine-zz/workout_interval_timer).