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
🌟 Libraries and technologies used
- 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.