Skip to content

feat: personalized course recommendation engine#770

Merged
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
BABAT-CODE:feature/course-recommendations
Jun 2, 2026
Merged

feat: personalized course recommendation engine#770
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
BABAT-CODE:feature/course-recommendations

Conversation

@BABAT-CODE
Copy link
Copy Markdown
Contributor

Summary

Adds a hybrid recommendation engine that surfaces personalized course suggestions for each
user.

Changes

  • RecommendationEngineService — orchestrates collaborative + content-based signals into a
    ranked list
  • CollaborativeFilteringService — user-based Jaccard similarity over enrollment co-occurrence
  • ContentBasedFilteringService — category preference profile + price proximity scoring
  • RecommendationsController — GET /recommendations/:userId?limit=10
  • Redis caching (5 min TTL) to meet the <100ms performance target
  • Cold-start fallback to recently published courses for new users

Endpoint

GET /recommendations/:userId?limit=10

Testing

  • 9 unit tests covering engine, collaborative filter, and content-based filter
  • All tests passing

Acceptance Criteria

  • Recommendation engine created
  • Collaborative filtering
  • Content-based filtering
  • Performance optimized (<100ms via Redis cache)

close #568

- Hybrid recommendation system (collaborative + content-based filtering)
- Collaborative filtering: user-based Jaccard similarity
- Content-based filtering: category preference + price proximity
- Redis caching with 5min TTL for <100ms response times
- GET /recommendations/:userId endpoint
- 9 passing unit tests
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 2, 2026

@BABAT-CODE Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER
Copy link
Copy Markdown
Contributor

Thank you for contributing to the project.

@RUKAYAT-CODER RUKAYAT-CODER merged commit 3e6c087 into rinafcode:main Jun 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement personalized learning path recommendations

2 participants