From the perspective of a student, I am wondering whether picking up a plate of food I’ve never eaten before will be worth it as if I don’t like the food, I will not end up eating it, thus wasting food. So we wanted to build an interactive app to help students communicate with each other through reviews and determine which dining hall has the best food for a given day and, more importantly, which has the worst food. This can hopefully persuade the Dining Halls to rotate out the foods students did not enjoy and bring food that students enjoy.
What it does
Our app provides a platform for students to review every item on the dining hall menu during a meal and post reviews and pictures of what they ate, allowing other students to get an idea of what each dining hall is serving and the quality of the food before they even enter the dining hall.
How we built it
We built our app in React Native using Expo and Expo Go. The reviews would be stored locally on the device using MongoDB Realm, then synced with the MongoDB Atlas cloud server. The UI and other functionality of the app was built entirely in React Native. We also utilized an API that allowed us to pull menu data from UCSB's dining hall website in order to populate the meal options.
Challenges we ran into
We ran into issues using the UCSB API. We first had problems getting it to respond with data, then we had issues interpreting the data into a usable form. We also ran into challenges integrating MongoDB with our app, and figuring out how to use Realm and sync it with Atlas. There were also some issues with formatting with React Native and getting all of our components do display properly without conflicting with each other.
Accomplishments that we're proud of
We are proud of creating an app that brings impact to the greater community of UCSB with React Native, as well as figuring out how to utilized MongoDB in a mobile app.
What we learned
We learned how to build apps in React Native using tools such as Expo and Expo Go. We also learned how to utilize APIs to pull data from other applications into our app. Additionally, we also learned how mobile database services such as MongoDB Realm work with cloud services such as MongoDB Atlas, and how to use MongoDB to store our data in nonrelational databases.
What's next for Gaucho Eats
We still need to implement most of the functionality we have planned for our app, including integration with MongoDB Realm and Atlas in order to save user reviews and display them at a later point in time. We also need to iron out issues with the UCSB API and display the data neatly for users to pick meals from.