This app demonstrates the use of Android, Kotlin, and Firebase Firestore to create a simple invoice management app.
- MVVM
- Dependency injection, using Composition Root method.
- Factory pattern, and façade pattern
- Singleton pattern
- Observer pattern
- Repository pattern
- Activity + Fragment, using viewModel, LiveData
- Two-way Data Binding
- Extension functions
- Coroutines
- Data classes
- Room, SharedPreferences, Firebase Firestore
- Retrofit, Moshi, OkHttp and custom trust managers.