a note-taking android application designed to help users easily store, categorize, filter and search for their notes.
📱 download app apk : https://www.mediafire.com/file/bix85vs0pphjitx/TakeNote.apk/file
-
Navigation component: to manage navigation within the app and creating a single activity that contains multiple fragments, rather than creating multiple activities.
-
Room: to save data (notes) in a local database on the user's device. This can be useful for caching data or for offline functionality.
-
MVVM: help in saperating the logic code from the views. This makes the app easier to maintain and update.
-
Coroutines: a library for asynchronous programming in Kotlin that is used to handle asynchronous background threading, such as network requests or database operations, without blocking the main thread or causing performance issues.
-
StateFlow: a library for reactive programming in Kotlin that is used to create a stream of data that can be observed and updated in real-time,it is useful for managing the state of the app's UI, since it allows changes to the data to be propagated to any observers automatically. It supports backpressure.
-
Dagger Hilt: for dependency injection to simplify the app's architecture and make it easier to manage dependencies between different components.
-
View Binding: to automates the process of inflating views in the app's UI instead of manually inflating views in code.