Inspiration
As college students, we've struggled with finding cultural comfort foods near campus. Relying on word of mouth for recommendations can get pretty tiresome and searching for options online can yield hundreds of results. We wanted an easier alternative to be able to search and filter restaurants based on our wants and needs, keep track of where you've been eating, and befriend other foodies!
What it does
dubYum is a platform where students can find their next cultural food recommendation and vote on their favorite restaurants near the University of Washington campus. Users can search to find restaurants that fit their needs using the search or filter and assess whether they want to go based on the votes made by other users. Similarly, users can use location or cultural heritage to find places to eat using the preset categories in the explore and location tabs. If there isn’t a specific restaurant or culture in mind, users can use the cuisineChart, a leaderboard of users' favorite restaurants, to see where they would like to eat. Lastly, users can create their profile and find other foodies to befriend, making long-lasting relationships.
How we built it
dubYum was built using HTML/CSS and JavaScript for the frontend, Node.js backend, and SQL database. The first thing we did was create a simple database using SQLite containing a few of our favorite restaurants on campus, the ave, and at Uvillage. From there we constructed the backend using Node.js and express. The backend queried data in different ways from the database so that we could implement all the different features we planned such as the search bar. While creating the backend we also simultaneously constructed the visual aspect of our front end using HTML and CSS as well as Bootstrap. After the backend we implemented the interactive features of the website using JavaScipt.
Challenges we ran into
We had a difficult time with starting off the project while brainstorming technologies to use. We would have liked using a Firebase backend for scalability, but we found it challenging to learn. Like with any collaborative project, we also ran into issues with merge requests and overwritten code. It was also difficult to debug once we connected the database to the website to make sure the queries were running properly. We also wanted to add a way for users to actually connect and keep track of friends however it wasn’t feasible given the time and other features, so we had to compromise to create a search feature, which still allows you to find friends just in a different way!
Accomplishments that we're proud of
While we would’ve liked more time to finetune, we’re extremely proud of our end result! We were able to come up with a visually appealing website that displays all the features we wanted with a fully functioning back end in less than a day. We’re happy with the progress we were able to make and the challenges we’ve overcome.
What we learned
This was the first time either of us has used GitHub to collaborate on a project, so it was a bit frustrating at the start dealing with the different features, however we were able to learn quickly after experimenting! Additionally, the time constraint allowed us to learn how to create something functional in a short amount of time and discern what is and isn’t important for a minimum viable product.
What's next for dubYum
Going forward we definitely plan to add a more comprehensive list of restaurants to our database to encompass more cultural heritages and make the website applicable to more users. We’d also like to find a hosting option that would work with our current tech stack. Additionally we think this would be a great app for students to use on the go, so we plan to expand and create a mobile version. Furthermore, since we want to increase the connectivity this application provides we plan to add a connect feature that allows for friends to communicate and attend restaurants together through dubYum. Lastly we want to keep working on the UI to make the site more accessible and easier to navigate for users.
Log in or sign up for Devpost to join the conversation.