srujanr40 / dogfish

CPSC 455 Project
3 stars 0 forks source link

Recommendation algorithm #33

Closed rkelly123 closed 1 year ago

rkelly123 commented 1 year ago

Ran through all workflows and should have no regression.

Added the recommendation algorithm. It is based on profile data, as well as other sessions a user has joined. There's no real reason I made the algorithm exactly the way I did, I tried to make it easy to update in the future by using constants for point weightings. Usually a company might use AI or user feedback to perfect that kind of thing, but for our cases, we're stuck with guessing. The algorithm now runs on the 'recommended sessions' carousel, where the sessions shown are the top sessions returned by the algorithm. I have also added a Magic Join button to the nav bar that automatically has the user join their top recommended session. It redirects them to the session's join page.

I also added joining/leaving functionality because it was bothering me (sorry it's not in a different PR). Manual joins and magic join now actually update the members field of the session. The session will no longer be displayed on the dashboard, and will now appear under my sessions. Joined sessions now have a leave button that makes them leave the session, which in turn will make the session reappear in the dashboard and disappear from the my sessions page.