Inspiration

We’ve all experienced wanting to go out to eat (either individually or with a group of friends) but not being able to decide where to go. Normally you hear “I’m fine with anything” or “I don’t really care where we eat,” which makes finding a place to go take even longer.

Worry no more with Decisive Dining! We created a website that picks ONE restaurant based on proximity to your location, budget, and cuisine preference (including Chinese, fast food, Italian, Korean, Mexican, Vegan, and Vietnamese food, as well as a “None” option if you’re open to anything).

What it does

Our Decisive Dining project has users complete a short survey with their phone number, zip code, type of cuisine they want, and budget. Then it takes this information and uses it to pull restaurants from the Google Maps API based on the user’s preferences. It then picks a random restaurant from the list of fitting restaurants for the user to go to.

How we built it

In order to create the web version of Designated Dining, we used ReactJS for our frontend and linked it to a Django backend running on CockroachDB. Our API uses the django-google-maps API to get data of nearby locations and to convert zip codes and addresses into geographical coordinates.

To get restaurants near us with specific attributes (e.g. type of cuisine, different price rankings, proximity), we used Python to interact with GoogleMap Geocoding and Places APIs. If more than one restaurant fit the criteria, we randomly selected one as a decision for our user.

Challenges we ran into

One of our biggest challenges was connecting our React frontend with our Django backend. We also generally struggled as we worked in React, as we had no prior experience working with it and had to spend ample time researching and loosely following tutorials.

Accomplishments that we're proud of

We had to teach ourselves how to use React, SQL, Django, JavaScript, and how to connect our frontend to our backend after never having prior knowledge all within 36 hours. We are proud of our idea itself as we have all struggled with finding a place to ear, as well as successfully building a fully functional design within 1 ½ days.

What we learned

At the start of bitcamp, we had no prior experience with React (what we used for our frontend) or Django (what we used for our backend). We also learned how to pull from the Google Maps API which gave us a whole new appreciation for the complexity of Google’s services!

What's next for Decisive Dining

Ideally, we want the user to only have to use the website once to sign up and enter their zip code. From there, Designated Dining would be completely SMS based where the user would text a bot, which is more convenient than having to look up a website every time they want to use the Decisive Dining services. The user would text certain keywords that the bot would respond to and would send a text with the final decision for a restaurant as well as a link for the location. (The user would also be able to alter their zip code through texting key words to the bot, even after entering a different one when they signed up through the website.)

Share this project:

Updates