We were inspired by the lack of information such as personal opinions on the different food items whether from the cafes or dining halls, as the dining hall and cafe experience was a big part of our first few quarters as freshmen.

What it does

It allows the server members aka other UCSC students to add their own reviews/ratings on the different food items, as well as read the previous responses. It also allows people to view today's menu for a specified meal at any residential college.

How we built it

We used discord.js which is built upon node.js, which is a solution for running javascript without a browser, that is, node.js acts as the browser.

Challenges we ran into

Some of the documentation was unclear and did not fully explain the specific functions and data structures required to interface with the discord API.

Accomplishments that we're proud of

We are proud of our web scraping used to access and parse the dining hall menus to use in the discord bot, since there was no API provided. We are also proud of some of the specific discord tools we utilized, such as using autocomplete for the commands to make it a lot easier to add a rating for a specific food item, instead of typing it all out.

What we learned

We learned a lot of javascript in general as we didn't have very much experience previously. We also were introduced to the asynchronous and promises based js methods. We learned a bit of csv and text file config parsing, as we had no need for a large DB to store our small amount of data.

What's next for Foodifier

We are planning to generally improve on the bot, including refining the discord commands to be more intuitive and making subcommands to reduce unnecessary clutter. We are also planning on adding a voting system so people can vote on whether they find a certain review or even a student added food item accurate and/or thoughtful. We are also planning on moving to a hosted database so that we can have more users being able to see all of the reviews from any server.

Built With

Share this project: