App Name - MVVMTodo
This is my first application written in kotlin. Learnt a lot about using this awesome language with android studio.
It is a simpple TODO list app using MVVM achitecture pattern
- Data is stored in Room Database
- Follows MVVM pattern
- User can add TODO task
- User can sort list by date or name
- Delete task with swipe gesture
- Search Tasks
- Edit Tasks
- User can set priority
- Using Kotlin for Android
- Kotlin Coroutines
- Android Architecture components
- Jetpack Datastore
- Dagger Hilt for dependency injection
` appCompatVersion = "1.2.0" constraintLayoutVersion = "2.0.4" coroutinesVersion = "1.3.9" dataStoreVersion = "1.0.0-alpha02" espressoVersion = "3.3.0" fragmentVersion = "1.3.0-beta01" gradleVersion = "4.1.0" hiltAndroidXVersion = "1.0.0-alpha02" hiltVersion = "2.28.3-alpha" junitVersion = "4.13.1" kotlinVersion = "1.4.10" ktxVersion = "1.3.2" lifecycleVersion = "2.2.0" materialVersion = "1.3.0-alpha03" navigationVersion = "2.3.1" roomVersion = "2.2.5" testExtJunitVersion = "1.1.2"
// Fragment
implementation "androidx.fragment:fragment-ktx:$fragmentVersion"
// Lifecycle + ViewModel & LiveData
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
implementation "android.arch.lifecycle:common-java8:$lifecycleVersion"
// Navigation Component
implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion"
// Room
implementation "androidx.room:room-runtime:$roomVersion"
kapt "androidx.room:room-compiler:$roomVersion"
implementation "androidx.room:room-ktx:$roomVersion"
// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
// Dagger Hilt
implementation "com.google.dagger:hilt-android:$hiltVersion"
kapt "com.google.dagger:hilt-android-compiler:$hiltVersion"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:$hiltAndroidXVersion"
kapt "androidx.hilt:hilt-compiler:$hiltAndroidXVersion"
// DataStore
implementation "androidx.datastore:datastore-preferences:$dataStoreVersion"
`