Changes between Version 7 and Version 8 of UseCaseImplementationsFinal
- Timestamp:
- 08/23/25 21:28:18 (8 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCaseImplementationsFinal
v7 v8 6 6 || 2 || Пребарува и филтрира форум || 7 7 || 3 || Преглед на објави кои чекаат одобрување од модератор || 8 || 4 || Добива email известувања || 8 || 4 || Корисникот добива email известувања || 9 || 5 || Модераторот добива email известувања || 9 10 10 11 == Use Case ID: 1 – Се најавува со Google профил == 11 12 [[Image(google_login.png)]][[BR]] 12 13 Корисникот притиска на копчето за најва со Google и се испраќа get барање до backend.[[BR]] 14 13 15 **Функцијата на клиентска страна**[[BR]] 14 16 [[Image(google_login_client.png)]][[BR]] 17 15 18 **Помошна функција во registerLoginService**[[BR]] 16 19 [[Image(google_login_axios.png)]][[BR]] … … 25 28 [[Image(2.png)]][[BR]] 26 29 Корисникот има можност да пребарува објави на форумот според наслов, содржина и за кој дневен предизвик се однесува објавата. Исто така има можност и да го филтрира форумот според тема, односно дали објавата е за општа програмерска тема или за дневен предизвик, потоа според објави објавени изминатата недела, месец или година, според број на коментари и според специфичен датум на објава. Изборот на тема го прави корисникот кога ја креира објавата со тоа што има можност да бира помеѓу општа програмерска тема или конкретен дневен предизвик.[[BR]] 30 27 31 **Промена на филтер**[[BR]] 28 32 [[Image(client1.png)]][[BR]] 33 29 34 **Функцијата applyFilters на клиентска страна**[[BR]] 30 35 [[Image(client2.png)]][[BR]] 36 31 37 **Функцијата fetchPosts на клиентска страна**[[BR]] 32 38 [[Image(client3.png)]][[BR]] 39 33 40 При промена на некој од филтрите се ажурира соодветното поле во објектот filters. Потоа корисникот притиска Apply Filters и се извршува функцијата applyFilters каде се ажурираат forumSearchParams, а тоа предизвикува повикување на fetchPosts функцијата преку која се испраќа get барање до backend.[[BR]] 34 **Помошна функција во forum service**[[BR]] 41 42 **Помошна функција во forumService**[[BR]] 35 43 [[Image(forumservice.png)]][[BR]] 36 Барањето најпрво е обработено од forum service, каде се составува соодветен url и барањето се проследува до backend.[[BR]]44 Барањето најпрво е обработено од forumService, каде се составува соодветен url и барањето се проследува до backend.[[BR]] 37 45 **Функцијата getforumposts во контролерот**[[BR]] 38 46 [[Image(getforumposts1.png)]][[BR]] … … 46 54 == Use Case ID: 3 – Преглед на објави кои чекаат одобрување од модератор == 47 55 [[Image(sc1.png)]][[BR]] 48 Корисникот пристапува до Pending панелот каде има преглед на објавите кои чекаат одобрување од модератор. Кога корисникот ќе пристапи до панелот најпрво се повикува функцијата fetchPendingPosts која испраќа get барање до backend. Барањето најпрво се обработува од review service, од каде се проследува до backend и е обработено од функцијата getPendingPosts во контролерот.[[BR]]56 Корисникот пристапува до Pending панелот каде има преглед на објавите кои чекаат одобрување од модератор. Кога корисникот ќе пристапи до панелот најпрво се повикува функцијата fetchPendingPosts која испраќа get барање до backend. Барањето најпрво се обработува од reviewService, од каде се проследува до backend и е обработено од функцијата getPendingPosts во контролерот.[[BR]] 49 57 **Функцијата на клиентска страна**[[BR]] 50 58 [[Image(client1.2.png)]][[BR]] 51 **Помошна функција во review service**[[BR]]59 **Помошна функција во reviewService**[[BR]] 52 60 [[Image(reviewservice.png)]][[BR]] 53 61 **Функцијата во контролерот**[[BR]] 54 62 [[Image(getpendingposts.png)]][[BR]] 55 Исто така корисникот има можност и да го избрише барањето за одобрување на објавата со тоа што притиска на Remove Post. Потоа доколку се согласи, се повикува функцијата confirmRemoval преку која се испраќа get барање до backend. Барањето најпрво се обработува од review service, од каде се проследува до backend и е обработено од функцијата deleteReviewPost во контролерот.63 Исто така корисникот има можност и да го избрише барањето за одобрување на објавата со тоа што притиска на Remove Post. Потоа доколку се согласи, се повикува функцијата confirmRemoval преку која се испраќа get барање до backend. Барањето најпрво се обработува од reviewService, од каде се проследува до backend и е обработено од функцијата deleteReviewPost во контролерот. 56 64 **Функцијата на клиентска страна**[[BR]] 57 65 [[Image(delreview1.png)]][[BR]] 58 **Помошна функција во review service**[[BR]]66 **Помошна функција во reviewService**[[BR]] 59 67 [[Image(delreviewservice.png)]][[BR]] 60 68 **Функцијата во контролерот**[[BR]] 61 69 [[Image(delreviewcontroller.png)]][[BR]] 70 71 == Use Case ID: 4 – Корисникот добива email известувања == 72 [[Image(moderatorpanel.png)]][[BR]] 73 Модераторот одобрува објава за форумот и се повикува функцијата handleApprovePost, преку која се испраќа get барање до backend. Барањето најпрво се обработува од reviewService, од каде се проследува до backend и е обработено од функцијата approveReviewPost во контролерот. Притоа објавата се отстранува од табелата за објави кои чекаат одобрување и се додава во табелата на објави за форумот. Најпосле се повикува функцијата sendApprovalEmail преку која се испраќа email до авторот на објавата.[[BR]] 74 75 **Функцијата handleApprovePost на клиентска страна **[[BR]] 76 [[Image(handleapprovepostclient.png)]][[BR]] 77 78 **Помошна функција во reviewService **[[BR]] 79 [[Image(approvereviewpostservice.png)]][[BR]] 80 81 **Функцијата approveReviewPost во контролерот**[[BR]] 82 [[Image(approvereviewpostcontroller1.png)]][[BR]] 83 [[Image(approvereviewpostcontroller2.png)]][[BR]] 84 85 **Функцијата sendApprovalEmail во emailService**[[BR]] 86 [[Image(sendApprovalEmail.png)]][[BR]] 87 88 Најпосле кориснкиот добива email дека неговата објава била одобрена.[[BR]] 89 [[Image(primerEmail.png)]][[BR]] 90 **Текот на настани е многу сличен и кога се одбива објава од страна на модераторот**[[BR]] 91 92