20 lines
982 B
Markdown
20 lines
982 B
Markdown
# 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.
|