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
Proposal Documents
Final Documents
Deliverables