- Dagger for dependency injection
- Retrofit and RxJava2 for handling network and asyscronous tasks
- Room ORM for offline support
- Kotlin Serialization for deserializing and serializing json to pojo classes
- Glide for image loading
- Data Binding for Binding UI to ViewModels
- This Project follows single Activity Architecture with two Fragments consisting of HomeFragmnet and DetailsFragment
- The App also handles the deeplink dhtech://restaurant/{restaurantId} for eg dhtech://restaurant/1001
- I have written Unit Tests for HomeViewModel, ConfigManager, RestaurantItemViewModel, DeliveryHeroAPI which will give you the general idea about my testing, I wasnt able to cover all the code because of the time constraint, so I tried covering different type of classes