Inspiration

Nobody has enough time. A big time sink for university students in particular is that we waste too much time choosing where to eat, especially when with friends. Everyone has different ideas, tastes, and budgets, so mealtime can go from relaxing to yet another stressful affair.

We want to make going out to eat with others about the food and the community again.

#aintnobodygottimeforthat

What it does

Choose Chews is a web application that lets you and your friends to vote on where to eat, anonymously and fairly, and generates a list of recommended restaurants, with equal consideration to everyone's choices.

In opening the app on your own device, you can create a group or join a friend's. When everyone has joined, the app will prompt you to select your preferences regarding: cost, distance, rating, flavour, type/ethnicity, and any dietary considerations. Based on what you selected, it uses Yelp's API to generate a list of restaurants that best match your group, as well as provide more information on each establishment.

How we built it

We used React.js for the front-end client, and Node.js for the back-end. This allowed us to create a universal Javascript application so members could easily transition from both sides to support each other. We utilized PostgresSQL to store data from users when creating room, and web sockets to connect multiple users to the same voting page.

Challenges we ran into

Ian & William: Working with Socket.io was difficult, as it was our first time using it. Furthermore, it was also the first time trying to create a complete web app with front-to-back support with Socket.io.

Alan: This was my first real hackathon, so pretty much everything was a challenge!

Accomplishments that we're proud of

That we were able to finish it!!!

What we learned

Alan: This was my first time creating a web application and working on UI, and so using html, css, and javascript were all brand new to me. I definitely learned a lot from working with William and Ian, about how to even begin with trying to create something, some design and UI aspects, as well as good programming practice in general.

Ian: I learned new ways to write javascript in ES6, also learned how to work with Socket.io, and got to work with Yelp API for the first time! Some general things I learned include designing the back-end of a CRUD web app from scratch, which I've never attempted before.

William: This was my first time trying full stack, front-to-back development. It was really cool working on a full javascript stack, and I definitely learned a lot about ES6 Promises, Socket.io, and SQL.

What's next for Choose Chews

Our future plans are to make a mobile extension, using react.native. We'd also like to incorporate better focused analytics such as machine learning with using a user's previous history, and other such solutions. Of course, while those are our specific goals, there are always that we can change and improve upon, like the UI!

Built With

Share this project:

Updates