This app was implemented by following CLEAN architecture:
- Data layer: Retrofit + Gson
- Domain layer: Coroutine
- UI layer:
- MVVM
- LiveData
- Jetpack Compose + Navigation
- Coil
- Dependency Injection: Dagger 2
- Security: SSL Pinning
- Memory leak monitoring: LeakCanary
- CI/CD: Github action
- Testing: Unit test
- Testing: Espresso
- Health monitoring: Crashlytics / Sentry
- Analytics: Firebase Analytics / Segment
- RemoteConfig: Firebase RemoteConfig / Optimizely
- CI/CD:
- Static code analysis: SonarCube
- App update (force / optional)