Click Releases to download the version's APK.
This application implements the following concepts :
- MVVM + Data binding
- Dagger - Hilt
- Multi-modules
- Navigation Component
- ViewModel
- LiveData
- Coroutines
- DataStore JetPack
- Timber Logging
- GSON
- Search Optimization with Rabin-Karp Algorithm
-
Improved code organization and maintainability: By dividing an app into separate modules, each with its own functionality and responsibility, you can better organize and maintain your code. This can make it easier to find and fix bugs, add new features, and scale your app over time.
-
Faster build times: By breaking up an app into smaller, more focused modules, you can reduce the size of the codebase that needs to be compiled and tested. This can result in faster build times, which can improve developer productivity and make it easier to iterate on your app.
-
Enhanced app performance: With modular architecture, you can optimize your app's performance by loading only the modules that are needed at a given time. This can help reduce the memory footprint of your app and speed up the launch time.
-
Simplified testing and debugging: By breaking an app into smaller, more manageable modules, you can test and debug each module independently. This can help identify and fix issues more quickly and efficiently.
-
Better collaboration and development flexibility: Modular architecture can facilitate collaboration between different teams or developers, as each module can be developed and maintained separately. This can also allow for easier integration of third-party libraries and services.