Skip to content

General-Soju/workout-interval-timer

Repository files navigation

한국어 · English

운동 타이머 아이콘

운동 인터벌 타이머

세트와 휴식을 관리하는 미니멀한 운동 인터벌 타이머 · 설치형 웹앱(PWA)

▶ 지금 바로 사용하기

아이폰 · 안드로이드 설치 가능 · 오프라인 작동 · 설치 파일/계정 불필요



운동 타이머 앱 스크린샷

✨ 특징

  • 👆 탭 한 번으로 전환 — 큰 원을 누르면 운동 → 휴식 → 다음 세트 순환, 세트 자동 카운트
  • ⏱️ 휴식 타이머 — 15초 단위로 휴식 시간 설정, 종료 시 알람 + 진동
  • 오버타임 알림 — 휴식 시간이 지나면 초과 시간 표시 + 15초마다 리마인더
  • 🎨 상태별 색상 — 운동(빨강) · 휴식(파랑) · 휴식 종료(노랑), 부드러운 색 전환
  • 🔊 소리 + 📳 진동 — Web Audio 기반 비프음, 음소거 토글(진동만 유지)
  • 🔆 화면 꺼짐 방지 — 운동 중 화면이 자동으로 꺼지지 않음(Wake Lock)
  • 📴 오프라인 작동 — 한 번 열면 인터넷 없이도 실행(서비스워커 캐시)
  • 💾 설정 저장 — 휴식 시간·음소거 설정 자동 기억

📲 설치 방법

설치 파일을 받을 필요 없이, 아래 주소를 열어서 홈 화면에 추가하면 일반 앱처럼 전체화면으로 실행됩니다.

https://general-soju.github.io/workout-interval-timer/workout-interval-timer.html

기기 방법
🍎 아이폰 Safari로 링크 열기 → 공유 버튼 → "홈 화면에 추가"
🤖 안드로이드 Chrome으로 링크 열기 → ⋮ 메뉴 → "앱 설치"

🎮 사용법

동작 설명
가운데 큰 원 탭 대기 → 운동 → 휴식 → 다음 세트 전환
/ + 휴식 시간 줄이기 / 늘리기 (15초 단위)
초기화 한 번 누르고 다시 한 번 누르면 세트·상태 초기화
🔊 아이콘 소리 켜기 / 끄기

💻 데스크톱에서는 Space로 전환, R로 초기화할 수 있습니다.

🛠️ 기술

  • 단일 HTML 파일 · 바닐라 JavaScript (외부 라이브러리/빌드 도구 없음)
  • PWA — Web App Manifest + Service Worker(오프라인 캐시)
  • Web Audio API(알람 비프) · Vibration API(진동) · Screen Wake Lock API(화면 유지)
  • 실제 경과 시각(Date.now()) 기반 타이머로 백그라운드에서도 정확
  • CSS @property를 활용한 상태 색상 트랜지션

📂 구성

workout-interval-timer.html   앱 본체 (HTML/CSS/JS 한 파일)
manifest.webmanifest          PWA 매니페스트
sw.js                         서비스워커 (오프라인 캐시)
icons/                        앱 아이콘 (192 / 512 / maskable / apple-touch)

📄 라이선스

MIT License — 자유롭게 사용·수정·배포할 수 있습니다.

About

세트와 휴식을 관리하는 미니멀 운동 인터벌 타이머 · 설치형 웹앱(PWA)

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors