This project brings to the table set of best practices, tools, and solutions:
- 100% Kotlin
- Kotlin Coroutines with Flow
- Navigation, single-activity architecture with Jetpack Navigation
- Initialize components at application startup with AndroidX Startup
- Cache local data with Room Persistence Library
- Schedule tasks with WorkManager
- ViewModel, LiveData, Lifecycle, ... with Android Jetpack
- Dependency injection Hilt
- Material Design Material Components for Android
- Kotlin Gradle DSL
- Firebase: Firestore, Authentication, Storage, Analytics, Crashlytics
- Gradle Kotlin DSL, Custom plugin