We were inspired to build Eat2Gether because we realized how common it is to feel like we can’t decide on a place to eat. It’s often especially the case in a group of people where everyone has different preferences that they may or may not be comfortable with sharing.
What it does
Eat2Gether is an app that allows users to remotely decide upon a restaurant, from which they can order through a delivery or take-out of their choice and ‘dine together’ in a virtual capacity. Hopefully, beyond the pandemic, it can also be used to come to a consensus when a group can’t decide what to eat (decisions are hard sometimes!)
It asks for preferences such as price point, cuisine type, and dietary restrictions. We take the location of every user in the room and determine a central point between everyone to make sure that we’re recommending a good location for everyone. After we get all our user preferences and locations, we process the search through the Google Places API in our back-end and save the results to our database.
How we built it
We began by using Figma to brainstorm, design, and prototype our idea. We then created the front-end UI with Swift and the back-end server with Node and Express, deploying it on Heroku. In our back-end, we used Google Cloud Platform’s Places API to identify and filter through restaurants, as well as the Geolocation API to only search for restaurants near a user’s location. We also used MongoDB as our database to keep track of every step of the process. We also made use of datasets from Geotab Ignition to identify areas where users might have difficulty finding parking.
Challenges we ran into
Google Cloud is such a massive and all-encompassing tool, and creating our app would not have been possible without its powerful APIs. Navigating its documentation was definitely a major challenge we faced because of the sheer number of different options we had to work with. Figuring out the endpoints for the backend API was challenging because it also was our first time making a REST API using Express.
Also, coordinating with the mobile UI required lots of communication to ensure that everything does what it is supposed to. Thankfully, the team had many meetings and we updated each other frequently!
Read about it more in our showcase below 👇🏻
All in all, out hope is that Eat2Gether has the potential to help support small local businesses and bring people together during these times we're spending apart.