# Ascently for Android This is the native Android app for Ascently, 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/ascently/`. - `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.