App Screens
- Local Authentication Feature using RoomDB with local validations
- User Session Handling
- Add Car with different Makes and Models
App built with Kotlin and Android Jetpack Components.
- Single activity with multiple fragments is used with MVVM architecture.
- Jetpack libraries such as ViewModel, DataBinding, Navigation Component, LiveData.
- Used RoomDB for local caching.
- Used Hilt for Dependency Injection.
- Coroutines and Flow for asynchronous.
- MVVM Architecture (Model - View - ViewModel)
- Repository Pattern
- It follows the Google's official architecture guidance.
- The overall architecture of the app is composed of three layers; the UI layer, the data layer and the viewModel. Each layer has dedicated components and they have each different responsibilities.
- Each layer follows unidirectional event/data flow; the UI layer emits user events to the data layer and the data in the viewModel is observed by the UI Layer.
- The data layer is designed to work independently from other layers and must be pure, which means it doesn't have any dependencies on the other layers.
- With this loosely coupled architecture, you can increase the reusability of components and scalability of your app.