Inspiration

As busy students, we don't have as much time as we want to grab lunch or breakfast. All of our team members have spent too much time waiting for food, which has caused us almost to be late to class and detracts from our study time. We wanted to fix that problem for all CMU students.

What it does

The app takes in the amount of time the user would like to spend going to the dining location and waiting to get their food. It also takes in the physical location of the user as well as the user's dining preferences. It combines these data inputs and uses a sorting algorithm to output dining locations that best fit the user's time constraints. The website also takes in the amount of time the user would like to spend going to various dining locations and how long they would like to wait. It sorts the locations based on where the user currently is and filters out locations that would take too long.

How we built it

We used Android Studio and Java to build the app. Location tracking was done with Google Play services, and dining location preferences were saved in the app with the getSharedPreferences() API. To build the website, we used Javascript and HTML/CSS. We used Google Map geolocation for location tracking, and query strings to transfer data between pages.

Challenges we ran into

It was our first time using Android Studio, Javascript, HTML/CSS, and git, and we also had trouble learning how to take in external data like location. It was difficult to learn all of these in a short amount of time.

Accomplishments that we're proud of

We're proud that we were able to push out a functional app and website that fulfilled the purpose we were aiming for in a limited time span. We got past our challenges and learned a lot in the process.

What we learned

We learned how to use android studio, Javascript, HTML/CSS, and git. We also learned how to use location tracking and preference tracking.

What's next for CMU Personalized Dining

We want to add all of the locations on the CMU campus, as well as add in live wait times instead of generalized wait times. For the app, we'd also like to make it compatible with various devices and usable whether the phone is in landscape or portrait mode. For the website, we would also like to customize the list based on user preference and show locations based on when they are open.

Share this project:

Updates