Inspiration

After school, our friend group found ourselves indecisive on which location (especially dining halls) to eat at on multiple occasions. We decided to take this chance to develop a potential solution that will solve our issue objectively with no hard feelings.

What it does

It's a mobile-friendly web app that allows you to input your food preferences and see which dining location will serve the food that best matches the preferences that you chose. The web app also allows users to create groups where it will instead recommend a location that will best satisfy everyone in the group.

How we built it

We developed a web server in Node.js using the Express.js web application framework. This webserver connects with a Firebase database to allow users to register and login, as well as join and create groups. We use additional node modules to scrape the UT dining hall menus and parse this data daily, to create the recommended dining locations.

Challenges we ran into

A major challenge we ran into was adding authentication to our website. We explored many options such as Auth0, which we spent a lot of time trying to connect with our website. However in the end, we were able to add authentication using by storing user data directly in our Firebase database.

Accomplishments that we're proud of

We're proud of creating an entire system to join, create, and view dining location recommendations in a group. It involved figuring out how authentication worked, how to scrape and categorize meals, and designing an algorithm to rank each dining location.

What we learned

We learned how to use a Firebase database, how to add authentication to a web server, and how to scrape web data.

What's next for Plan Your Dine

Expand logistic functions (such as prices, details), group functions (more flexibility, details on dining coverage), and Expand Dining Locations in the web app.

Share this project:

Updates