Reach plc. Apps Team Exercise (Junior)

Description

One of our magazines is looking for new sources of revenues and starts a few partnerships with beauty brands to present their products within the app.
Users can view any number of these products in any particular order. This is an example list of products:

ID            | Name                | Description   |  Price    | Image
----------------------------------------------------------------------------------
LIPSTICK      | Express Lipstick    |     ...       |   22.00€  | https://....
EYELINER      | Daily Eyeliner      |     ...       |   50.00€  | https://....
SHAMPOO       | RSVP Shampoo        |     ...       |   35.50€  | https://....

Objective:

  • Implement an app that lists all the beauty products and allows the user to read a description of the product, in more detail.
  • You may get the list of products from here https://apps-tests.s3-eu-west-1.amazonaws.com/android/products.json.
  • We already have a skeleton of the project, with the infrastructure prepared to get you up-and-running.
  • Use the ListFragment and its view model to get and display the list of products.
  • Create a DetailFragment to display the description and image of each product.
  • It’s ok to use commonly used Android libraries but we already added the most relevant ones to the skeleton project
  • You can use the AppContainer class as a container for objects shared throughout the app. Feel free to use a more sophisticated approach if you prefer.
  • This is not required, but if you want to show off, you can try writing unit tests, making the app work offline, handling config changes or cool UI details and so on.

Guidelines

  • We’re looking for code that’s easy to read, easy to maintain and easy to grow.
  • Prefer less code written well, than writing code in a rush.
  • Create a NOTES.md file explaining your solution, implementation details and trade-offs. Writing good documentation is a rare but important skill.

Submission

  • You can zip the final project and send us by email. Or push to a public GitHub repository.
  • If something is not clear, feel free to drop us an e-mail.

===================================================================================================================

GitHub

View Github