CraveRN is a cross-platform mobile application designed to help users find where to satisfy their cravings instantly. The application allows the user to either search what they desire or take a short quiz to help them find exactly what they want. The quiz is comprised of picking one out of four pictures for a few rounds. The service then calls Yelp's Fusion 360 API and returns results matching the user's preferences.
The application is designed using Flutter with some iOS and Android customization.
The user has two options to search. They can either enter input into the search box or they can complete the quiz by clicking one of the four pictures until the quiz is over. 
The user is displayed a scrollable list of restaurant results. There are three filters that can be modified to show different results on the top labeled distance, price, and sort by.
The results endpoint is called by home.html after the user either enters a text query or completes the four picture quiz. The endpoint expects the following parameters:
- typeOfMeal
- specificMeal
- restaurantType
- dietaryRestriction
- latitude
- longitude
- city
- state
- price
- distance
- sort_by
The typeOfMeal, restaurantType, dietaryRestriction, price, and distance can have a "null" value.
The endpoint takes these queries, processes them in a way that the Yelp Fusion API can understand, and returns the output from the api to the results.html document. I pass in the open_now parameter to be true so it only results in restaurants currently open.
{
"round1" : [ "dessert", "appetizer", "mainDish", "drinks" ],
"round2" : {
"appetizer" : [ "chips", "dumplings", "tapas", "friedSnacks" ],
"dessert" : [ "iceCream", "cookies", "cake", "doughnut" ],
"drinks" : [ "alcohol", "boba", "juice", "coffee" ],
"mainDish" : [ "italian", "indian", "asian", "mexican" ]
},
"round3" : [ "1", "2", "3", "4" ],
"round4" : [ "foodTruck", "fastFood", "buffets", "anything" ],
"round5" : [ "healthy", "glutenFree", "vegan", "none" ],
"round6" : [ "1mi", "5mi", "10mi", "20mi" ]
}