Utility practice app for AAD Certification
-
Tech-stack
- Kotlin - a cross-platform, statically typed, general-purpose programming language with type inference.
- Coroutines - perform background operations.
- Flow - handle the stream of data asynchronously that executes sequentially.
- Jetpack
- Room - a persistence library provides an abstraction layer over SQLite.
- LiveData - is an observable data holder.
- Lifecycle - perform action when lifecycle state changes.
- ViewModel - store and manage UI-related data in a lifecycle conscious way.
- DataStore - store key-value pairs or typed objects.
- WorkManager - schedule deferrable, asynchronous tasks that are expected to run even if the app exits or the device restarts
- AlarmManager - Schedule repeating alarms
- Timber - a highly extensible android logger.
-
Architecture
- MVVM - Model View View Model
-
Tests
- Unit Tests (JUnit) - a simple framework to write repeatable tests.
- Mockito
- Truth - Fluent assertions for Java and Android
- Espresso - write concise, beautiful, and reliable Android UI tests.
-
CI/CD
- Github Actions