flutter
Flutter는 wger용 피트니스·운동 앱입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Rackside is a client and session log for independent personal trainers, on iPhone and Apple Watch. Keep clients' goals, injuries, health screening, assessments and waivers in one place; build reusable workouts; schedule and record sessions set by set with a rest timer on your phone or wrist; and track each client's progress over time. Everything stays on the iPhone — no account, no cloud, no tracking.
For developers: product requirements in PRD.md; roadmap and known gaps in BACKLOG.md.
The Xcode project file is generated, not committed. The project is defined by
project.yml; XcodeGen
turns it into Rackside.xcodeproj.
After a fresh clone — or whenever files are added/removed outside Xcode — run:
brew install xcodegen # first time only
xcodegen generate
open Rackside.xcodeproj
Then select the Rackside scheme, pick an iPhone simulator, and ⌘R.
xcodegen generate
xcodebuild -scheme Rackside -destination 'platform=iOS Simulator,name=iPhone 17' test
If xcodebuild complains that it "requires Xcode" even though Xcode is installed,
either prefix commands with DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
or run once:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Notifications and calendar access are optional. Settings → Permissions shows the current status of each and offers an Open Settings link when one has been denied. Session reminders (24 h and 1 h before) are scheduled only while notifications are allowed; "Add to calendar" on a session needs full calendar access and falls back to the first writable calendar when no default is set.
Continuous integration runs xcodegen generate and the simulator test suite on every
pull request (.github/workflows/ci.yml).
Sources/Models/ — SwiftData @Model types and their Codable DTOsSources/Persistence/ — @ModelActor repositories, seed import, store backupSources/Services/ — notifications, messaging, EventKit calendar, PDF reports, export/import archive, app lockSources/Support/ — shared helpers (logging, formatters)Sources/Support/Theme.swift — color/font/spacing tokens (colorsets live in Sources/Assets.xcassets); Sources/Features/Components/ — shared SwiftUI building blocksSources/Features/ — SwiftUI views + view models per feature (Schedule, Clients, Workouts, Exercises, Session, Reports, Settings)Sources/AppIcon.icon/ — Icon Composer package (edit icon.json/Assets/*.svg as text, or open in Icon Composer); Sources/Assets.xcassets/ holds AccentColorTests/ — Swift Testing suite (runs against in-memory containers); Tests/Fixtures/export-v1.json is the frozen export-format compatibility fixture — never regenerate itWatch/ — Apple Watch app (rest timer mirror and quick start); Shared/ — timer and sync code used by both appsdocs/ — GitHub Pages site: user guide, privacy policy, support, changelog; docs/app-store/ — App Store submission kit and screenshotsscripts/ — screenshots.sh (regenerates App Store/guide screenshots from DEBUG demo data via -demoData), sync-changelog.sh, and doc checksthoughts/qrspi/ — design/research/plan artifacts from the initial build