“Hey! you want to get some food?”, “Sure, where do you want to go?”, “Idk.” The problem that has plagued lunch as we know it is no more! Introducing Eat.AR a solution to decision paralysis in the modern era. Analysis paralysis (Decision paralysis) describes an individual or group process when overanalyzing or overthinking a situation can cause forward motion or decision-making to become "paralyzed", meaning that no solution or course of action is decided upon. Whenever friends decide to go out for a meal, there is a large amount of indecision as to the location.
What it does
This application effectively solves the "decision paralysis" associated with going out for a meal. The app takes in a group's preferences and uses them to generate a list of restaurants based on those preferences. Our solution relies on a way to randomly decide on a restaurant to go based on certain parameters such as price, dietary restrictions and distance with the added benefit of giving exclusive discounts. This would also promote smaller business as a means of advertisement.
How I built it
The application consists of a front end User Interface made exclusively in ReactJS. Eat.IO leverages Yelp's API through a Python script. We then store that restaurant data (as well as the user login and preferences) using MongoDb.
Challenges I ran into
Our biggest challenges with the User Interface were fitting all the information (login, signup, and the main page) on one page. We ended up using state changes to manage all the different "pages". We were also planning on accessing Yelp's API through ReactJS itself, but due to the lack of support, we ended up switching to Python. We had a lot of trouble deploying the web app onto Azure, and we weren't able to solve that particular hurdle.
Accomplishments that I'm proud of
We made good use of the Yelp API, and we were extremely happy with how we used the features. Also, we think the User Interface looks extremely nice, clean, and easy to understand. Overall, we're extremely pleased by our ability to put everything together.
What I learned
We learned a lot about React and how it works. Also, this was our first time using the Yelp API, and we were pleasantly surprised to see how powerful it is. Also, we learned how to leverage MongoDB, and we gained more practice in putting together a full application.
What's next for Eat.IO
Attached to our project is a command line tool (eats), which displays nearby restaurants, their overall ratings, and their price range. Our next steps with Eat.IO is to interface the web application with the command line tool, instead of them being two separate entities.