An app that displays recipes from a network resource. When user selects a recipe, its ingredients and video-guided steps are shown.
- Use Android Architecture Components to implement the MVVM architecture pattern.
- Handle network requests with Retrofit and OkHttp.
- Persist app data with Room.
- Display videos with ExoPlayer.
- Properly initialize and release video assets.
- Create a home screen widget.
- Use Fragments to create a responsive design that works on phones and tablets.
- Make use of Espresso to test aspects of the UI.
- Handle dependency injection with Dagger.
- Room for data persistence
- Retrofit 2 and OkHttp for networking
- Moshi for parsing JSON
- Glide for image loading
- ExoPlayer for streaming videos
- Timber for logging
- Dagger 2 for dependency injection
On landscape mode recipe video takes up the full screen: