/Coding

Primary LanguageJava

OpenTable Code Challenge

The challenge is to create a simple Android app that exercises a REST-ful API. The API endpoint : http://api.nytimes.com/svc/movies/v2/reviews/dvd-picks.json?order=by-date&api-key=b75da00e12d54774a2d362adddcc9bef results in a json response which is a list of different movie reviews published by ny times.

Features Beyond Requirements

  • “Endless” scrolling list: When approaching the end of the current list, the app will load more content.
  • Review Content View: Upon selecting a list item, the review content will be fetched and displayed as a dialog over the list of reviews.
  • Lifecycle awareness to retain data through configuration changes

Framework & Libraries

  • Retrofit for Networking
  • RxJava for thread management of network calls
  • LiveData for lifecycle aware observable data
  • ViewModel of Android Architecture Components
  • ButterKnife for resource resolution
  • Glide for image loading

Limitations & Known Issues

  • Persistent cache of reviews to reduce network load and support off-line
  • Support for fragments or alternative frameworks such as Conductor
  • Espresso tests