Eating for the Indecisive
randomly find a restaurant using either zip code
or current location
generated restaurant - able to see hours, call restaurant...
find it on a map...
or view its EatStreet webpage
The most common question that arises when a group of friends hangs out is invariably: Where are we going to eat? Inspired by books such as The Paradox of Choice, which highlighted possible negative consequences of having too many choices, we created an app that would solve the issue. It allows users to find a random restaurant within a certain search radius. After viewing the info of that restaurant, which includes a phone number, map, website, picture, and store hours, users can decide to view a random menu item from that restaurant. This allows users to make a difficult choice in a matter of seconds while simultaneously exploring new venues around them.
What it does
FoodFlare uses the EatStreet API and Zip Code API to find your location or take in a custom zip code and directs you to a randomly selected restaurant in the area with random menu items.
How we built it
We built this in Swift using XCode. We set up communication with the EatStreet and Zip-Code APIs to collect data. We manually parsed through the data, and we displayed our map using the iOS frameworks CoreLocation and MapKit.
Challenges we ran into
We had a lot of trouble with location detection, getting the UI to look elegant and user-friendly, and implementing all the parts that we wanted to build.
Accomplishments that we are proud of
We experimented with different aspects of UI and successfully implemented new concepts such as location that neither of us had ever dealt with. We are also proud of our use of multiple APIs.
What we learned
We learned how to efficiently segue data from one ViewController to the others while maintaining a smooth user interface (no lag). We were able to keep the UI completely free while running complex searches on separate threads asynchronously. We also learned how to use some of Apple's frameworks such as CoreLocation and MapKit and parse through API info.