Grumble - Tinder for Restaurants
Welcome to Grumble! A simple yet effective web application developed by a small team of students for a Software Engineering course. Grumble is modeled after Tinder, offering an intuitive interface for exploring local restaurants, using criteria available from the Yelp Fusion API. Our project aim was to create a web app integrating O-Auth, a database, and at least two API calls. As someone with prior experience from the AKPSI App project, I led the team, focusing on backend development using Python's Django library due to its popularity and extensive documentation. The project, initially starting with seven members, was eventually brought to fruition by three committed team members, dividing tasks between frontend and backend to efficiently manage the workload.
Frontend Design
My role in Grumble's development extended to guiding the frontend design. With my extensive experience in Figma, I took the opportunity to help my fellow team members on how to use this design tool effectively whenever I could. This enabled my teammates to create well-organized, visually appealing layouts for the web app. Of course the credit goes mainly to them for creating such a well designed flow in the end!
Backend
Venturing into backend development for the first time presented both a challenge and an exciting learning opportunity! In addition to the core development work, I also explored the use of AI tools. This approach significantly accelerated my learning curve with the Django library, enabling me to apply new knowledge efficiently to the project. It's a testament to how AI can facilitate rapid skill acquisition without compromising the integrity of the learning process.
In creating Grumble's backend, I developed a custom Django authentication flow, incorporating Django forms and email verification for user authentication. Additionally, I integrated Google O-Auth into our login system, enhancing user convenience. The core of our backend involved setting up two key APIs: the Google Maps Geocoding API for converting user-inputted locations into longitude and latitude values, and the Yelp Fusion API, which utilized these coordinates along with user preferences like cuisine type, pricing, and current open status to generate a tailored list of restaurant recommendations.