Skip to content

feat: Automatic mentor matching algorithm for PENDING_MANUAL_MATCH mentees (backlog) #550

@womencodingcommunity

Description

@womencodingcommunity

Context

As a future improvement, when a mentee enters PENDING_MANUAL_MATCH, the system could automatically suggest or assign available mentors that fit the mentee's requirements, reducing admin manual effort.

This ticket is a backlog/research item and is not required for MVP manual matching flow (Tickets 6 & 7 cover that).

Proposed Approach

Matching criteria

When searching for available mentors for a mentee in PENDING_MANUAL_MATCH, filter by:

  • Mentor ProfileStatus == ACTIVE
  • Mentor has remaining capacity (below maxMenteesPerMentor for the cycle)
  • Overlap in Skills.areas / TechnicalArea
  • Overlap in MentorshipFocusArea
  • Overlap in spokenLanguages
  • Rank results by number of matching criteria

New API endpoints

GET /api/platform/v1/mentees/{menteeId}/cycles/{cycleId}/mentor-suggestions
Response: Ranked list of compatible available mentors with match score

POST /api/platform/v1/mentees/{menteeId}/cycles/{cycleId}/auto-match
Response: Created MenteeApplication (picks highest ranked available mentor)

Admin flow

  1. Admin reviews /mentor-suggestions ranked list
  2. Admin either picks manually via Ticket 7 assign-mentor or triggers auto-match

Acceptance Criteria

  • /mentor-suggestions returns ranked list of compatible available mentors
  • Matching algorithm covers skills, focus areas, and language overlap
  • /auto-match assigns the best available mentor automatically
  • Unit tests for matching algorithm with various skill combinations
  • Integration test with real mentor/mentee data

Dependencies

  • Ticket: feat: Admin APIs for manual mentor assignment and confirming no match found

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestepic-mentorshipAll tasks related to mentorship pages & tasksjava/springbootTasks where is needed Java experience or Spring Boot Experience

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions