We are a group of passionate second-year students at Georgia Tech, all majoring in Computer Science. Our team shares a deep love for technology, problem-solving, and innovation. With diverse interests in software development, artificial intelligence, data science, and more, we are driven by curiosity and a commitment to pushing the boundaries of what's possible in the field of computer science. Please take a look at our work!
Scrum Master
Managed the team
Designed the website's appearance using Figma
Integrated the majority of front-end styling with the back-end functionality
LinkedIn: https://www.linkedin.com/in/arshiya-rahman/
Product owner
Built initial model and authentication backend
Implemented several user stories on the backend
Aided in creating team website
LinkedIn: https://www.linkedin.com/in/stepan-shabalin-155a08237/
Full Stack Developer
Created and integrated restaurant details particularly contact information and reviews
Aided in styling the map and search functionality
Produced user stories
Created team website
LinkedIn: https://www.linkedin.com/in/cruz-guo/
Backend Developer
Researched options for sending email
Implemented and integrated search and filtering functionality
Produced user stories
LinkedIn: https://www.linkedin.com/in/athkal/
Frontend Developer
Worked on website design in Figma
Migrated large parts of the website from Figma to HTML
Styled website appearance and integrated with functionality, particularly the user sign up and profile page
Created demo video
LinkedIn:
Using Django, PyCharm, and the Google Maps API, Atlanta Food Finder provides a means for tourists, new residents, college students, and more a way to ensure they can always find great food in the Atlanta area. With distance sorting, rating filtering, the ability to search for restaurants directly, and an interactive map powered by Google, users can find local restaurants that fit their exact needs.
Description: What We Used
We used a large language model to read restaurant descriptions and make them easy to search for by automatically extracting cuisine types.
An example of an LLM being used to read restaurant descriptions.
We also used Django to help create the frontend and backend applications. For the backend, we used Python to create models and methods to store and retrieve the appropriate data from our database and ensured URLs of our web application were correct. For the front end, we used HTML, CSS, and JavaScript to format the information from the backend on our web application.
Description: Screens and Features
Our web application allows users the ability to register an account with a username, email, and password. Of course, there are limitations to what the passwords can be to ensure account security. Once the user is logged in, there are personalized features such as being able to see their favorite restaurants, the reviews they have written for desired restaurants. Users can also view their profile that shows their account data such as their email and changing their account password if desired. However, the main feature of the web application, viewing the restaurants, is not locked behind having to register an account, so everyone is able to use our application.
Our search engine gives users the option to search for restaurants by name, cuisine type, and location to ensure users are most likely to find restaurants that match their preferences. We have also went one step further and created a filter that filters search results by restaurant rating and distance from the user's current location to further improve the user searching experience.
Our web application naturally has an interactive map. Our interactive map gives users ease of visibility to restaurant locations as well as the ability to click on the restaurant marker. Clicking on the restaurant marker gives users the ability to view more information about the restaurant they are interested in.
Once someone clicks on our restaurant marker on the interactive map, the ability to view more detailed information of the interested restaurant is given. Our detailed page of restaurant includes relevant information such as cuisine type, ratings, google reviews, user reviews, address, and contact information. In addition, our detailed page also has a small map that only shows the marker of the interested restaurant, giving users a clearer visualization of where the restaurant is for possible direction purposes.
We have also created a favorite feature that gives users the ability to favorite their favorite restaurants in the restaurant detail page as well as see the list of favorited restaurants in the user's profile.
Lastly, we have given the users the ability to leave reviews and rate restaurants so they can share their experiences with others.
Process: Methodology
We utilized Scrum development methodologies to allow for easier revisions, more collaboration, and higher customer satisfaction. By putting people and communication first, we're able to create a product that highlights customer needs while increasing team efficiency.
By organizing our development process into two "sprints", we can prioritize certain user stories and ensure that the product has its core functionalities. Additionally, we can dynamically revise our work flow by reflecting on the previous sprint. We split out work into two two-week sprints, where the first focused on implementing core functionalities and the second focused on styling the webpage.
Daily-Stand-Ups allow for the customer and individual team members to always be on the same page when it comes to product development. By sending updates each day on what progress has been made, we're able to always have a plan moving forward and ensure every member is pulling their weight.
Process: Programming
To design the website's appearance, we took inspiration from modern websites like Stripe and Google Maps to focus on a stream-lined user experience. Utilizing htmx, the search bar, information panels, and the map are all on the home page. This allows the user to have side-by-side views on the restaurant's information, and gives the user complete control over how they choose to interact with the web-page.
On the back-end, we focused on creating the features of the web application. We first produced the user stories and developed the features based on what we deemed the most important and the best way to satisfy user's needs as outlined in the user story. We then created the main models for our features to utilize, and ensured these models were as reusable as possible for easier adaptability as well as easy to integrate. Then, we tested our models with simple HTML templates to ensure they performed as outlined in the user stories. Next, for each backend developer, we created individual branches with features to add and merged them with the main branch once complete. Lastly, once the features were successfully developed in Python, we used a database and HTML and JavaScript to test our features to ensure they provide user's the best possible experience.