General

Used Room Database and Followed MVVM Architecture Pattern to build the app

Specs / Open-source libraries:

  • Minimum SDK 21, but AppCompat is used all the way ?
  • Kotlin all new modules starting from 2.5.3 will be written in #Kotlin.
  • Room Database a part of the Android Architecture components which provides an abstraction layer over SQLite
  • MVVM the architecture pattern used in the app (Model-View-ViewModel), that incorporates the Android Architecture Components
  • ViewModel for designed to store and manage UI-related data in a lifecycle conscious way.
  • LiveData for observable data
  • ViewBinding for easily interacts with views

Screenshots

Create New Note Update a Note Delete a Note

N.B: Apply Plugins and Dependencies

  • Apply these plugins

apply plugin: 'kotlin-parcelize'
apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin"
  • Add these dependencies

implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
    
implementation "androidx.room:room-ktx:2.4.1"
kapt "androidx.room:room-compiler:2.4.1"
implementation "android.arch.persistence.room:runtime:1.1.1"
kapt "android.arch.persistence.room:compiler:1.1.1"
  • Add this into your project build.gradle file
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"

GitHub

View Github