Changes between Version 6 and Version 7 of UseCaseImplementations


Ignore:
Timestamp:
01/21/26 16:16:10 (2 months ago)
Author:
231067
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseImplementations

    v6 v7  
    5656== Автоматско совпаѓање (match) со ментор ==
    5757
     58Корисниците кои се студенти можат да направат автоматско совпаѓање со ментор според предметите и интересите кои се во нивните профили.
     59
    5860[[Image(автоматскосовпаѓање.png)]]
     61
     62Имплементација:
     63
     64[[Image(findbestmatch1.png)]]
     65[[Image(findbestmatch2.png)]]
     66
     67Овој HTTP GET метод служи за пронаоѓање на ментори кои најдобро одговараат на интересите и предметите на најавениот студент.
     68
     69Најпрво го зема ID-то на тековниот корисник. Се вчитува студентот од базата, заедно со неговите предмети и теми. Доколку корисникот не е студент, се враќа HttpNotFound, а оваа функционалност е сокриена за ментори во View-то.
     70
     71Потоа се вчитуваат сите достапни ментори со нивните предмети и интереси. Се екстрахираат листи од имиња на предмети и теми за студентот и за секој ментор се пресметува „score“ (оценка на совпаѓање) преку методот CalculateMatchScore. Се задржуваат само менторите со score поголем од 0 и се сортираат по опаѓачки редослед.
     72
     73Резултатите повторно се мапираат во EditMentorModel и се враќа View-то ViewMentors, но овојпат со листа на најдобро совпаднати ментори.
     74
     75CalculateMatchScore е имплементиран под него:
     76
     77[[Image(calculate.png)]]
     78
     79Ако matchType е "subjects" или "both", се пресметува пресекот помеѓу предметите на студентот и менторот. Секој заеднички предмет носи 2 поени.
     80Ако matchType е "interests" или "both", се пресметува пресекот помеѓу темите на интерес. Секоја заедничка тема носи 3 поени, така што темите имаат поголем приоритет од предметите.
     81
     82На крај се враќа вкупниот резултат кон FindBestMatch.
    5983
    6084== Контактирање на ментор ==