Application uses storyboard and custom nibs for grid / list cell and footer item.
Two different (Grid and List) flow layout classes used for showing collection view.
MVVM architecture pattern used in this project.
Generic service layer added for handling rest service requests and responses.
Generic error handler added for showing errors.
NSUserDefaults used for storing favorite lists in the application.