All checks were successful
OpenClimb Docker Deploy / build-and-push (push) Successful in 2m29s
22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# OpenClimb for Android
|
|
|
|
This is the native Android app for OpenClimb, built with Kotlin and Jetpack Compose.
|
|
|
|
## Project Structure
|
|
|
|
This is a standard Android Gradle project. The main code lives in `app/src/main/java/com/atridad/openclimb/`.
|
|
|
|
- `data/`: Handles all the app's data.
|
|
- `database/`: Room database setup (DAOs, entities).
|
|
- `model/`: Core data models (`Problem`, `Gym`, `ClimbSession`).
|
|
- `repository/`: Manages the data, providing a clean API for the rest of the app.
|
|
- `sync/`: Handles talking to the sync server.
|
|
- `ui/`: All the Jetpack Compose UI code.
|
|
- `screens/`: The main screens of the app.
|
|
- `components/`: Reusable UI bits used across screens.
|
|
- `viewmodel/`: `ClimbViewModel` for managing UI state.
|
|
- `navigation/`: Navigation graph and routes using Jetpack Navigation.
|
|
- `service/`: Background service for tracking climbing sessions.
|
|
- `utils/`: Helpers for things like date formatting and image handling.
|
|
|
|
The app is built to be offline-first. All data is stored locally on your device and works without an internet connection. |