An app that utilizes Yelp APIs to bring you closer to finding what you need.
Time spent: 20 hours spent in total
- Table rows should be dynamic height according to the content height
- Custom cells should have the proper Auto Layout constraints
- Search bar should be in the navigation bar (doesn't have to expand to show location like the real Yelp app does).
- The filters you should actually have are: category, sort (best match, distance, highest rated), radius (meters), deals (on/off).
- The filters table should be organized into sections as in the mock.
- You can use the default UISwitch for on/off states.
- Radius filter should expand as in the real Yelp app
- Categories should show a subset of the full list with a "See All" row to expand. Category list is here: http://www.yelp.com/developers/documentation/category_list
- Clicking on the "Search" button should dismiss the filters page and trigger the search w/ the new filter settings.
- Implement a custom switch for Filters.
- Infinite scroll for restaurant results.
- Implement the restaurant detail pages
- Implement map view of restaurant results.
Walkthrough of all user stories:
GIF created with LiceCap.
Note Forgot to walkthrough some of the bonuses I had added in the walkthrough, there is a network error message as well as a no data message when the filters/search comes up empty.
- AFNetworking
- BDBOAuth1Manager
- MBProgressHUD
- POP (Didn't Use)
- LBBlurredImage (Didn't Use)
- TSMessages
- http://www.raywenderlich.com/55384/ios-7-best-practices-part-1
- http://www.yelp.com/developers/documentation/v2/search_api
- http://www.raywenderlich.com/5478/uiview-animation-tutorial-practical-recipes
- http://www.raywenderlich.com/73286/top-5-ios-7-animations
- https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html#//apple_ref/occ/instm/UIScrollView/scrollRectToVisible:animated:
- http://locassa.com/animate-uitableview-cell-height-change/
- http://horseshoe7.wordpress.com/2013/05/26/hands-on-with-the-mantle-model-framework/
- https://github.com/thecodepath/ios_guides/wiki/Basic-View-Properties
- https://github.com/thecodepath/ios_guides/wiki/Adding-Image-Assets
Filter designed by Niels Gesquiere from the Noun Project
- Learned about best practices with self.property versus _property
- Learned about the shared manager design pattern
- Discovered some SWEET Pods (listed below)
- Need to look into setting an icon image more closely for NavBar Button Items
- Focus on one feature at a time
- Research best practices and design patterns
- Start the HW even earlier