AUG-OCT 2024

Atlanta Food Finder

A collaborative web application project that allows users to view popular restaurants in Atlanta using Django and Google Maps API. Created with features such as seamless user authentication, immersive and engaging designs, filtering and distance search, device compatibility, and much more.
My Role
Front-end Development (User Authentication, Favorites, and Rating)
Tools Used
Figma, pxCode, Trello, Django, Google API, GitHub
Team
Scrum Master/Back-end,
Product Owner/Back-end,
Front-end (2)
Skills
Interaction Design, User Authentication, HTML/CSS/JS

Our Project User Stories

  • User Authentication

    As a user, I want to register an account so that I can access personalized features.

    As a registered user, I want to log in so that I can access my profile and account data.

  • Restaurant Search

    As a user, I want to search for restaurants by name, cuisine type, or location so that I can find places to eat that match my preferences.

    As a user, I want to filter search results by ratings and distance so that I can find the best and closest options.

  • Geolocation

    As a user, I want to view restaurant locations on an interactive Google Map, so that I can easily visualize where they are.

    As a user, I want to clock on a restaurant marker on the map to see detailed information about that restaurant.

  • Favorites

    As a user, I want to save my favorite restaurants so that I can easily find them later.

    As a user, I want to access my list of favorite restaurants from my profile so that I can quickly revisit them.

The Process

Planning

This planning phase involved outlining project goals. We initiated a shared Google Calendar, Trello board, and Discord server for communication. At each sprint, our team discussed the user stories that would be addressed in the sprint review and what could be improved. At the end of the 1st sprint, we decided that our communication needed to improve, so we created a voice channel in the Discord called "drop-in work" where we could all hang out and work together at any time to avoid the pressure of overly-planned work sessions. This greatly increased our productivity!

The Design Process

To begin, we used Figma to create a basic user flow and wireframes for the UI. We then created a basic brand identity and applied it to the wireframes to create prototypes. The basic decisions regarding the branding and setup were made with the application's intentions and functionality in mind. We wanted it to be clean and user-friendly, so we kept the colors and user flow simple to avoid overwhelming users. This also involved using recognizable icons such as the filter button.

Building the App

This stage is where all of our pre-planning and delegation came in handy. We initially struggled at first with the learning curve regarding Git and GitHub, but we quickly learned how to use it effectively. We used the framework of the Django tutorial to initialize our project. We broke up each user story into smaller, more manageable tasks and made sure to have other team members review our code before merging anything to the repository. This gave members a chance to share any challenges they were facing and helped us stay up to date with our progress as well as the things our teammates were working on.

Testing and Deployment

We made sure to use Git and branches effectively to test our work before merging it into main to avoid any conflicts. The process of testing was extensive and occurred throughout the creation of the project, rather than solely at the end.

Watch our demo