Training Tracker
12-week periodised training programme tracker
Apple Health에 이미 기록된 운동·활동 연속 기록을 찾아주는 무료 Apple Watch 앱 및 위젯, 별도 입력 필요 없음
Find the workout and activity streaks you have already built in Apple Health. No manual logging. Apple Watch app and widgets. Free to start and private.
스포츠·피트니스GitHub @jackwallner온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Fitness Habit Tracker: Auto: Automatic fitness streak discovery from Apple Health.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Native iPhone + Apple Watch app that mines your Apple Health history for the fitness streaks you've already built — the ones you didn't realize were going — and nudges you to keep them alive.
project.yml → .xcodeproj)# Requires: brew install xcodegen
xcodegen generate
open FitnessStreaks.xcodeproj
Or from CLI:
xcodebuild -project FitnessStreaks.xcodeproj \
-scheme FitnessStreaks \
-destination 'generic/platform=iOS' build
./scripts/testflight.sh
Requires Xcode signed in (Settings → Accounts) with team YXG4MP6W39.
Four targets, all sharing Shared/:
| Target | Bundle ID | Platform |
|---|---|---|
| FitnessStreaks | com.jackwallner.streaks | iOS |
| FitnessStreaksWidget | com.jackwallner.streaks.widget | iOS |
| FitnessStreaksWatch | com.jackwallner.streaks.watch | watchOS |
| FitnessStreaksWatchWidget | com.jackwallner.streaks.watch.widget | watchOS |
App group: group.com.jackwallner.streaks
Models/StreakMetric.swift — enum of metrics + per-metric threshold ladders + display.Models/Streak.swift — Streak (current/best/threshold/progress) + ActivityDay.Models/DailyActivity.swift — SwiftData @Model cache row.Services/HealthKitService.swift — HK auth, daily history fetch across 9 metrics, background delivery, SwiftData upsert.Services/StreakEngine.swift — the core. Scans history and picks, per (metric, cadence), the highest-threshold tier with an active streak — daily and weekly. Ranks by an interestingness score.Services/StreakStore.swift — @MainActor ObservableObject that drives the iOS + watch UI.Services/StreakSettings.swift — user prefs + SnapshotStore that persists the top streaks to App Group UserDefaults so widgets can render without hitting HealthKit.Services/DataService.swift — SwiftData container scoped to the app group.Services/NotificationService.swift — daily 7pm at-risk reminder.Utilities/Theme.swift, Utilities/DateHelpers.swift.HKWorkout; sleep attributed to the day each asleep sample ended on).current ≥ minLength (3 days / 2 weeks).score = length × metricWeight × tierBonus. The top one is the hero; the rest are badges.Personal project.