We were inspired to make this project after we ran into too many instances of where we couldn't decide on a place to eat at. After many frustrating situations, we wanted to make an app that would assist us in our decision-making while incorporating user preferences.
What it does
It uses user interaction to find the best possible food for the user based on past user input as well as user preference data. Additionally, user preferences and profiles are stored in a MongoDB database for future referrals and changes in preferences. This, combined with the Yelp API, allows for our application to search local restaurants based on a multitude of factors such as category, budget, ratings, etc. All combined, our application is going to order without hesitation the meal that the user most likely prefers.
How we built it
We used Android Studio and Adobe XD to design our front-end, while incorporating Java algorithms to calculate best fit for user in their local area through the use of Yelp API and MongoDB.
Challenges we ran into
Some challenges we ran into included learning and implementing the Yelp API to access features relevant to the user, as well as discovering the best possible method to suggest future food choices. We also had to learn the basic functionalities of Android Studio, while maintaining high-grade quality in our front-end using Adobe XD.
Accomplishments that we're proud of
We're proud of the fact that we were able to create a real time-based application that can successfully determine the best possible fit for multiple unique users and create a lasting profile for future uses.
What we learned
We learned the intricacies of Android Studio when designing our app. Additionally, we explored the workings of the Yelp API and MongoDB, which is something we didn't have a lot of experience in beforehand.
What's next for Cravings
We plan to incorporate more payment systems in the future, such as Apple Pay and Google Pay. Additionally, we also plan to get crowdsourced data in order to generate a more suitable cuisine profile for each individual user.