Yelp is a Yelp search app using the Yelp API.
Time spent: 5 hours spent in total
The following required functionality is completed:
- Table rows for search results should be dynamic height according to the content height. (3pt)
- Custom cells should have the proper Auto Layout constraints. (+5pt)
- Search bar should be in the navigation bar (doesn't have to expand to show location like the real Yelp app does). (+2pt)
The following stretch features are implemented:
- Infinite scroll for restaurant results. (+3pt)
- Implement map view of restaurant results. (+3pt)
- Implement the restaurant detail page. (+2pt)
The following additional features are implemented:
- List anything else that you can get done to improve the app functionality!
Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):
- I would like to ask anyone how they kept their tableView after searching in the search bar since my data goes away after.
- I woudl like to discuss further as to how to properly implement infinite scroll
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Describe any challenges encountered while building the app: Had trouble again with autolayout but slowly getting the hang of it. However it is setting me back a lot. Also had trouble with getting the search bar to properly function since after i delete what i searched for or if i couldnt find what i was looking for, the data from the original table view goes away, so need to figure out how to make it stay.
Copyright [2018] [German Flores]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This is a headless example of how to implement an OAuth 1.0a Yelp API client. The Yelp API provides an application token that allows applications to make unauthenticated requests to their search API.
- Check out
BusinessesViewController.swift
to see how to use theBusiness
model.
Basic search with query
Business.searchWithTerm("Thai", completion: { (businesses: [Business]!, error: Error!) -> Void in
self.businesses = businesses
for business in businesses {
print(business.name!)
print(business.address!)
}
})
Advanced search with categories, sort, and deal filters
Business.searchWithTerm("Restaurants", sort: .distance, categories: ["asianfusion", "burgers"], deals: true) { (businesses: [Business]!, error: Error!) -> Void in
for business in businesses {
print(business.name!)
print(business.address!)
}
}