CSCE Capstone

Student Site for Individual and Collaborative Activites

Team 4: FooDecisive

                                                                          View the website here

A significant flaw with people is that we tend to be incredibly indecisive. Food is one example. It may seem trivial, but choosing what to eat stumps more people than you may think. For instance, you are going out with a friend for dinner or on a date, and you are too nervous about what makes the other happy, so you can’t think of a good option for both of you. Not knowing what to choose can lead you to an awkward scenario where you may be unhappy with your meal. As computer science students, we recognize this problem. We will create FooDecisive to help save your time and make better decisions by effectively recommending a list of restaurants based on your preferences. One key feature in this app that will allow users to make better and quicker decisions is implementing a convincing display of recommended restaurants in a list of organized preferences and specify directions to restaurants on a Google Map. FooDecisive will save and learn users’ search history and preferences to make a better recommender. To build FooDecisive, we will use technologies such as ReactJS for frontend, PostgreSQL for database management system, and Python Flask for the backend. To construct the recommender system, we will use distributed computing APIs such as PySpark on a Databricks notebook to perform machine learning and collaborative filtering for providing personalized food recommendations. The Yelp API will be used to download information regarding restaurant information such as locations, reviews, ratings, genres, etc.

 

 

Tentative Schedule

4.5  Schedule 

Tasks

Dates

1. Research recommender systems and design sketches of UI and architecture (All members)

11/14-12/7

2. Exploratory Data Analysis of Yelp Dataset in Jupyter Notebook (Aneesh)

12/7-1/11

3. Establish database schema and connectivity to backend (Aneesh)

1/11-1/25

4. Develop Search functionality using Yelp Fusion API and frontend view (Huy)

1/25-2/8

5. Conduct feature engineering on Yelp data (Aneesh)

2/8-2/22

6. Implement login and registration frontend pages and routing (Adam)

2/8-2/22

7. Implement token based user authentication for login/registration in backend (Aneesh)

2/8-2/22

8. Implement restaurant detail popup in frontend view (Huy)

2/8-2/22

9. Implement rating/review form in frontend (Adam)

2/22-3/8

10. Develop backend endpoint for ratings and reviews commit to DB (Aneesh)

2/22-3/8

11. Embed Google Maps API into restaurant detail popup (Tay)

3/8-3/22 

12. Develop Favorite functionality frontend view and backend endpoint (Huy)

3/8-3/22

13. Implement Favorites page in frontend to view list of favorites (Huy and Zhi)

3/22-4/5

14. Utilize HPC GPU to finely preprocess Yelp data and filter data based on requirements (Aneesh and Adam)

3/22-4/5

15. Develop Recommendation System using Apache Spark (Aneesh)

3/22-4/5

  16. Implement conversation chatbot frontend UI (Adam and Aneesh)

4/5-4/19

17. Implement conversational chatbot functionality and develop intents using wit.ai and incorporating responses (Adam)

4/5-4/19

18. Develop profile page with history of user reviews/ratings (Huy)

4/5-4/19

19. Design homepage of application (Tay and Zhi)

4/5-4/19

20. Polish up aesthetic look throughout application and add transitions as needed. (All members)

4/5-4/19

The Team                                          

Aneesh Komanduri                                                                    

Adam Greenfield                                                                          

Huy Mai                                                                                         

Tay Pham                                                                                     

Zhi Han Weng

 

Proposal Documents

Project Proposal

Final Proposal Slides

Final Documents

Final Report

Final Presentation Slides

Final Poster

Deliverables

 GitHub