Skip to content

Commit 6673c16

Browse files
committed
Update readme
1 parent cc524ee commit 6673c16

1 file changed

Lines changed: 27 additions & 8 deletions

File tree

readme.md

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
# Gym Timer
1+
# Timer
22

3-
A simple gym workout timer web app. Slide to set a duration (up to 5 minutes), start the countdown, and get an audio +
4-
visual alert when time's up.
3+
A workout interval timer web app with configurable work/rest durations, rep counts, and preset workouts. Features audio cues (bells, chimes, countdown dings, fanfare), color-coded phases, keyboard shortcuts, and wake lock support.
54

65
Built with SvelteKit as a static site, designed for touch interfaces and optimized for mobile/iOS.
76

@@ -27,6 +26,12 @@ Produces static output in `build/`.
2726
npm run build
2827
```
2928

29+
## Lint
30+
31+
```sh
32+
npm run lint
33+
```
34+
3035
## Tests
3136

3237
```sh
@@ -40,6 +45,18 @@ npm run test:e2e
4045
npm test
4146
```
4247

48+
## Presets
49+
50+
Workout presets are defined in `presets.yml` (name, work seconds, rest seconds, reps). Defaults are compiled into the JS bundle at build time.
51+
52+
At runtime, the app fetches `/presets.yml` from the server. In Docker, mount a directory containing your custom `presets.yml` to `/config/` to override the defaults without rebuilding:
53+
54+
```sh
55+
docker run -d -p 8080:80 -v /path/to/config:/config ghcr.io/johnmathews/gym-timer:latest
56+
```
57+
58+
Edit the file on the host and reload the page to pick up changes.
59+
4360
## Deployment
4461

4562
The app is packaged as a Docker image (nginx serving the static build) and published to GHCR on every push to `main`.
@@ -69,11 +86,13 @@ The app will be available at `http://localhost:8080`.
6986
```yaml
7087
# docker-compose.yml
7188
services:
72-
gym-timer:
73-
image: ghcr.io/johnmathews/gym-timer:latest
74-
ports:
75-
- "8080:80"
76-
restart: unless-stopped
89+
gym-timer:
90+
image: ghcr.io/johnmathews/gym-timer:latest
91+
ports:
92+
- "8080:80"
93+
volumes:
94+
- /path/to/config:/config # optional: custom presets.yml
95+
restart: unless-stopped
7796
```
7897
7998
```sh

0 commit comments

Comments
 (0)