The Problem

College students have very busy schedules which makes cooking meals every night difficult. Sometimes, students don't even eat! Furthermore, each student individually cooking every night creates lots of waste: it uses excess water and plastic, and often results in food waste that has to be thrown away.

The Solution

Most students have time to cook a few times per week. When a student is already cooking, it is easier to cook for multiple people. In return, on days of the week students don't have time to cook, another student can cook for them and they can pick up the food.

Introducing DinnerBell

DinnerBell is a a mobile platform for campus food-sharing. It is designed to reduce waste and improve student life.

How it Works

Authentication: Each user makes an account. Account details are stored using Firebase. Since safety is top priority with an application that allows people to meet up, only students with registered .edu emails can create an account. In Firebase, each user has a list of meals they have shared and a list of meals they have requested. When a user queries their meals, the application fetches the list from Firebase.

Point System: DinnerBell's point system ensures that users continue making meals for other users. Each user begins with 1 point. When a user makes a meal, they are awarded 1 point for every person they share it with. When a user signs up for another user’s meal, they spend one point.

Find Meal: When a user gets hungry, they can search for a meal on the Find Meal screen. Users are also able to search by tags assigned to the meal. Tags can include dietary restrictions such as "vegetarian" or the type of meal such as "pasta". When a user clicks on a meal, the details about the meal are displayed, including the meal description, name, pick-up point, and tags. From this screen, users can sign up for a meal.

Share Meal: When a user wants to make a meal for others, they can navigate to the "Share Meal" page. Each meal has a name, description, pick up point, number of people, and meal time, which the cook can set. When a meal is created, users will have the option to sign up for it. The person creating the meal will gain a point when a user signs up for their meal, and the person who signs up for the meal will have a point deducted.

My Meals: My Meals serves as the user's dashboard. It includes meals they plan to share with others, as well as meals they've signed up for. All meals on this page have a timer indicating when they will be ready.

Graphic Design

Creating an intuitive user experience was very important for us. We used Photoshop to draft DinnerBell's main logo and secondary logos that accurately represent each page on our application. Our graphic designs and digital art can be seen throughout the application, making navigation simple for the user.

Best Moments and Challenges

  • When we finished our logo in Photoshop, it was a great moment because we saw our vision come to light for the first time.
  • When we created a user, refreshed our Firebase page, and saw the user pop up, we all cheered! It was a much-needed moment of success after hours of error messages.
  • We spent a lot of time searching for specific features in Android Studio. By the time we finally found the setting we were looking for, we were so thankful.
  • Learning how to manage 4 people working on the same project was also really difficult. We had to make sure no two people were editing the same file at the same time so it didn't cause trouble with Git. This also made time management really complicated because there were some points where one person had many things to do and other people had less things to do.

More to Come

DinnerBell represents a powerful learning experience for all our teammates. We are very proud of the features we were able to implement, especially because most of the software we were using was completely new to us. However, given more time, there are definitely features we would love to implement. For example, we would like to add a navigation feature which would provide users with directions to the location of their meal pick-up. We originally planned to use Google Maps API to show pick-up points for the meals, but we ran out of time to fully implement this. In future versions, we would love to take the time to use Google Maps API in order to help the user place pick up points and navigate to meal locations.

The Team

DinnerBell was created by a team of 4 USC students: Ziyi Wu, Simon Landau, Stephen Quiton, and Caitlin Swanson. We are all sophomores passionate about computer science and creating a difference. We chose to tackle the Sustainability vertical because we noticed how powerless ordinary people felt in the context of climate change. We wanted to create an application that allows students like us to cut down on food waste, water usage, and plastic.

DinnerBell is our first project created at a hackathon. It was also our first time using AndroidStudio and Firebase. DinnerBell served as a huge learning experience for all teammates: we were introduced to new software, we developed communication skills within our team, and we experienced the contagious creative energy of hackathons.

Share this project:

Updates

posted an update

More UI and Last Minute Changes

We're working on some last minute fixes to make the user environment more pleasing. Finding different, very specific settings in Android Studio is proving to be a really difficult task.

Log in or sign up for Devpost to join the conversation.

posted an update

Storing Meals in Firebase

Our application pages are coming along well. Connecting meal submissions to Firebase is proving to be a challenge, though. Every time a user submits a form to create a meal, the information needs to be sent to Firebase. When a user searches for food, the data then needs to be retrieved from the database.

UI Optimizations

We've also been working on optimizing our UI to make the app as easy to use as possible. For example, we originally included a screen that only had the "Login" button on it. However, we realized that since it only has one button, it was an extra screen. We ended up directly sending users to the Log In page when they open the app.

Log in or sign up for Devpost to join the conversation.

posted an update

We just finished authentication, which is super exciting for us. We have never used Firebase so setting it up was a challenge. The moment when we created a user on our app, refreshed our database, and saw our user listed in it was really encouraging!

Log in or sign up for Devpost to join the conversation.