What: Add a GET /api/v1/courses/recommended endpoint that suggests courses based on the user's enrollment history and interests.
Why: Personalized recommendations improve course discovery and completion rates. Currently all users see the same course listing regardless of their interests.
Scope: Create endpoint that analyzes user's enrolled courses (difficulty progression, topic tags), and suggests courses that match their learning path. Use simple heuristic: recommend courses one difficulty level above completed courses, filtered by similar tags.
Acceptance criteria:
- Returns personalized course recommendations
- Based on enrollment history and difficulty progression
- Cached per user for 1 hour
- Falls back to popular courses for new users
Technical context: src/modules/courses/course.service.ts — course queries. src/modules/users/user.service.ts — user data.
What: Add a
GET /api/v1/courses/recommendedendpoint that suggests courses based on the user's enrollment history and interests.Why: Personalized recommendations improve course discovery and completion rates. Currently all users see the same course listing regardless of their interests.
Scope: Create endpoint that analyzes user's enrolled courses (difficulty progression, topic tags), and suggests courses that match their learning path. Use simple heuristic: recommend courses one difficulty level above completed courses, filtered by similar tags.
Acceptance criteria:
Technical context:
src/modules/courses/course.service.ts— course queries.src/modules/users/user.service.ts— user data.