Our inspiration for this app came from wanting to work around our insane indecisiveness when it comes to finding a restaurant for a dinner night. We wanted to make something that could save people lots of time while making sure that they have fun in the process due to the gamified nature of our application

What it does

The application works somewhat like a dating app, letting two users swipe through our selection of restaurants until they both swipe right on a restaurant, at which point they've found a match! Users can create and join matching rooms to swipe through restaurants with their friends, and the restaurants displayed in these rooms can be filtered according to location, price, and cuisine.

How I built it

We used MongoDB, Express, and Node.js to build the backend and subsequent matching algorithm. The backend calls the google places API to fetch the restaurant info that will be displayed on the matching page. For the frontend, we first made static mockups using HTML, CSS, Bootstrap, and Vanilla Javascript, and then later ported these mockups over to React.

Challenges I ran into

Backend challenges: It was challenging to use the different APIs from google since they were not giving all the information we needed. For this reason, we had to call different APIs and then merge all the data together. Another challenge was to optimize the speed of the request and limit the size of the data we were getting.

Frontend challenges: Porting the static mockups over to React turned out to be a much more arduous process than we initially thought, and we found that we had to remove and rebuild a lot of the small components and animations.

Accomplishments that I'm proud of

We learned a lot this weekend, and our code is not that bad in terms of efficiency.

What I learned

How to use: Google Maps API platform

What's next for DinnerPlans?.

-> Finish linking the back-end to the front-end -> Add Machine Learning to analyze what is the user preferences in terms of foods, so we can give him better recommendations.

+ 10 more
Share this project: