SleepLog is easy to use application for record the sleep quality with possibility to sort and update the records. Records are stored locally in the device.
Sleep List | Sorting option | Add sleep |
---|---|---|
- User can create / edit / delete sleep record.
- Evaluate sleep with one of the sleep quality options.
- Add date of the sleep.
- Add duration of sleep.
- Add sleep description (optional).
- Record list can be sorted based on the date and quality of the sleep.
- Item color is selected based on the sleep quality.
- Kotlin
- Jetpack Composable
- Room Database
- Dagger Hilt
- Coroutines
- Clean Architecture, MVVM, UseCases, ViewModels
- https://github.com/ChargeMap/Compose-NumberPicker - Number Picker Library
Compose dependencies
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.5.0-alpha02"
implementation "androidx.navigation:navigation-compose:2.5.0-alpha02"
implementation "androidx.compose.material:material-icons-extended:$compose_version"
implementation "androidx.hilt:hilt-navigation-compose:1.0.0"
Material components
implementation 'com.google.android.material:material:1.5.0'
Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
Dagger - Hilt
implementation "com.google.dagger:hilt-android:2.39.1"
kapt "com.google.dagger:hilt-android-compiler:2.39.1"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0"
Room
implementation "androidx.room:room-runtime:2.4.1"
kapt "androidx.room:room-compiler:2.4.1"
Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:2.4.1"
Conversion of unix time
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2")
Plugins
plugins {
dependencies {
classpath("com.google.dagger:hilt-android-gradle-plugin:2.39.1")
}
}
Aplication is in developing process. I am not a proffesional, I try to learn new techniques.