feat : add event recommendation system #46
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
A prototype recommendation engine suggests events based on past user purchases. It uses a straightforward collaborative filtering approach.
A new FastAPI endpoint, /recommend-events, has been added. This includes the relevant request and response models, as well as test cases.
Changes made
Added a mocked dataset called mock_user_events that shows users and their purchased events.
Implemented a collaborative filtering algorithm.
This algorithm finds similar users based on event overlap.
It recommends up to three events that the current user has not yet attended.
Created a new endpoint:
POST /recommend-events
Request: {"user_id": ""}
Response: {"recommendations": ["event1", "event2", ...]}
Added error handling.
It returns a 404 error with a JSON body if the user is not found.
Added unit tests in tests/test_recommend.py.