A android app that allows to search translation of photo in online photo. Implemented using ViewModels and Room together with RxJava & Dagger2, in Kotlin by Clean Architecture.
The structure of this project consist of 3 layers:
- Presentation
- Domain
- Data
- UI calls method from ViewModel.
- ViewModel executes Use case.
- Use case gets data from Repository.
- Each Repository returns data from a Data Source (Cached or Remote).
- Information flows back to the UI where we display the list of photos.
At a glance:
- Search photo by name
- Get a list of Photo results, and display it.
- In the Item of each Photo, showed Photo name.
- When user taps on Photo, new page will be shown which includes details of photo.
- Were Written test to cover one simple case.
- Supported orientation change.
- Retrofit2, OkHttp - for network calls.
- RxJava - for reactive programming, multithreading.
- Room - for persistent storage.
- Hilt - for Dependency Injection.
- Glide - for effective image loading and displaying.
- Espresso - for Instrumented Tests.
- Robolectric - for unit tests.