Giter Site home page Giter Site logo

androidcodingchallenge's Introduction

The 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&offset=0 returns a JSON object which is a list of different movie reviews published by the New York Times. For example:

  "results": [
    {
      "display_title": "Rat Film",
      "mpaa_rating": "",
      "headline": "Review: In \u2018Rat Film,\u2019 a City of Rodents and Racial Oppression",
      "multimedia": {
        "type": "mediumThreeByTwo210",
        "src": "https:\/\/static01.nyt.com\/images\/2018\/09\/19\/arts\/19colette1\/merlin_143890539_b04f8a07-099a-46e2-9af4-3de2e7185111-mediumThreeByTwo210.jpg",
        "width": 210,
        "height": 140
      }
    },
    {
      "display_title": "Woodpeckers",
      "mpaa_rating": "",
      "headline": "Review: \u2018Woodpeckers,\u2019 a Tale of Love and Agonizing Penal Confinement",
      ....
    },
    ..
    ]

Using this endpoint, show a list of these items, with each row displaying at least the following fields:

  • display_title (movie title)
  • mpaa_rating (movie rating)
  • byline (reviewer)
  • headline
  • summary_short
  • publication_date
  • multimedia

Feel free to make any assumptions you want along the way or use any third party libraries as needed (just document them in a your pull request).

General Instructions:

  • This isn't a visual design exercise. For example, if you set random background colors to clearly differentiate the views when debugging, pick Comic Sans or Papyrus, we won't hold that against you. Well, maybe a little bit if you use Comic Sans :)
  • This is also most of the code you'll be showing us โ€“ don't understimate the difficulty of the task, or the importance of this exercise in our process, and rush your PR. Put up your best professional game.
  • This isn't just about handling the happy path. Think slow network (or no network at all), supporting different device sizes, ease of build and run of the project. If we can't check out and click the run button in Android Studio, you're off to a bad start (we've had PRs without a graddle for instance).
  • "Surprise us by writing the most boring and unambiguous code possible". We are more interested in stability/maintainability of your code than in "show off" features. We'd much rather know how you'd handle errors hollistically, or dates and their timezones, than seeing how you'd implement parallax scrolling with sparkles and flames for instance.
  • Tests (unit or UI) are welcome, but not required.
  • Explanations on any choice you've made are welcome.
  • We appreciate there's a lot that is asked in this exercise. If you need more time, feel free to ask. If you need to de-prioritize something, apply the same judgement you would on a professional project, argument your decision.

androidcodingchallenge's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.