Inspiration

We were inspired by the concept of snackpass and how it quickly allows you to get food. However, we then realized soon the downside to this is that college students are eating unhealthily and often in a rush by themselves. To help them balance out their stress levels while eating healthier, we created HealthMatch.

What it does

The user can explore restaurants near them, find their match, access their user profile, and list other people to explore. In explore restaurants, it will load 10 restaurants near you and display the location, phone number, ratings, link to yelp website, type of cuisine, and a picture that shows one of the food items at the restaurant. For finding a match, you fill out a survey in which we have an algorithm that will match you to your perfect partner depending on your preferences. In the user profile you can change your name, college, email, interests, diet, and view your previous matches.

How we built it

We built this using react, javascript, bootstrap, YelpAPI, mongoDb, and survey.js. Using bootstrap, we built the front end that contains a sidebar where you can access the various pages. We have a user profile page where you can edit your dashboard to include your most up-to-date information and displays your form choices. We also have a Find a Match! page where you can fill out a survey to send a request to be matched. The survey includes many question types including multi-select and date choices.

Then, on the admin page, we have a button that generates matches on a scheduled basis by employing our matching algorithm and directly updating our matches page between different users using our database.

Mongodb is the database we decided to use to hold user information, form responses, and various matches.

For users to explore on their own, we also have a restaurants tab that gathers information about restaurants using the Yelp API where it requests 9 restaurants at a time and you can use a button to load 9 more which is how pagination works. Similarly, we also have a people tab to view all other users using the app!

Challenges we ran into

The challenges we ran into were the lack of free APIs to access restaurant menus and information so that we can use an algorithm to calculate the “healthiness” of the restaurant. There were mongodb connection issues where we could not push to it due to various backend connections. We also had issues with creating the best model to match users by weighing their different choices to create the best scoring technique.

Accomplishments that we're proud of

We are proud of setting up the backend, getting access to the Yelp API to display restaurants and their information, employing pagination, updating the user profile, and creating an algorithm to match users based on their choices.

What we learned

We learned how APIs work and how to access them, how to work with databases to query and push data by integrating the frontend and backend, creating a weighted multiple linear regression function to create the best matches between users, creating a form to take in different types of user inputs, and even a few style tips!

What's next for HealthyMatch

We would like to get access to a better API that would allow us to see menu items and ingredients in order to calculate how healthy the restaurant is. We would give it a score and use various filters such as the distance, if it is open now … etc to give the user the best restaurants to choose from with their healthy match! Also we would like to use an online messaging system rather than just the user’s email as a form of communication between users.

Built With

Share this project:

Updates