All checks were successful
OpenClimb Docker Deploy / build-and-push (push) Successful in 2m29s
23 lines
1007 B
Markdown
23 lines
1007 B
Markdown
# OpenClimb for iOS
|
|
|
|
The native iOS, watchOS, and widget client for OpenClimb, built with Swift and SwiftUI.
|
|
|
|
## Project Structure
|
|
|
|
This is a standard Xcode project. The main app code is in the `OpenClimb/` directory.
|
|
|
|
- `Models/`: Swift `Codable` models (`Problem`, `Gym`, `ClimbSession`) that match the Android app.
|
|
- `ViewModels/`: App state and logic. `ClimbingDataManager` is the core here, handling data with SwiftData.
|
|
- `Views/`: All the SwiftUI views.
|
|
- `AddEdit/`: Views for adding/editing gyms, problems, etc.
|
|
- `Detail/`: Detail views for items.
|
|
- `Services/`: Handles HealthKit and sync server communication.
|
|
- `Utils/`: Helper functions and utilities.
|
|
|
|
## Other Targets
|
|
|
|
- `OpenClimbWatch/`: The watchOS app for tracking sessions.
|
|
- `ClimbingActivityWidget/`: A home screen widget.
|
|
- `SessionStatusLive/`: A Live Activity for the lock screen.
|
|
|
|
The app is built to be offline-first. All data is stored locally on your device and works without an internet connection. |