Changes between Version 10 and Version 11 of UseCaseRealizations
- Timestamp:
- 02/09/21 23:27:44 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCaseRealizations
v10 v11 12 12 13 13 || **ID** || **Use Case Realization** || 14 || **1** ||**Пребарува пракса/работа/проект според клучен збор** \\ **1.** По успешна најава User тип на корисник има опција во навигацискиот бар да пребарува работа/пракса/проект според клучен збор. \\ **2.** Kорисникот внесува некој клучен збор на фронтенд и избира каков тип на работа бара. Ова се одвива преку форма, која постира на бекендот на патека /api/search и соодветно /job, /internship или /project. Ова се одвива преку Search контролерот кој комуницира со Work сервисот преку функцијата за full-text search која е различна за сите типови на работа. \\ **3.** соодветно во функцијата се креираат филтрирани листи преку итерации на сите работи кој содржат вештина или дескрипција/име ист онаков како текстот кој е внесен како параметар во пребарувањето. \\ **4.** По итерациите се враќа листа на одредени работи кој одговараат на критериумот, при што истите се испраќаат на фронтенд каде соодветно се додаваат во состојбата на реакт компонентата која врши real-time refresh на клиентот и ги листа резултатите од пребарувањето. ||14 || **1** ||**Пребарува пракса/работа/проект според клучен збор** \\ **1.** По успешна најава User тип на корисник има опција во навигацискиот бар да пребарува работа/пракса/проект според клучен збор. \\ **2.** Kорисникот внесува некој клучен збор на фронтенд и избира каков тип на работа бара. Ова се одвива преку форма, која постира на бекендот на патека /api/search и соодветно /job, /internship или /project. Ова се одвива преку Search контролерот кој комуницира со Work сервисот преку функцијата за full-text search која е различна за сите типови на работа. \\ **3.** Соодветно во функцијата се креираат филтрирани листи преку итерации на сите работи кој содржат вештина или дескрипција/име ист онаков како текстот кој е внесен како параметар во пребарувањето. \\ **4.** По итерациите се враќа листа на одредени работи кој одговараат на критериумот, при што истите се испраќаат на фронтенд каде соодветно се додаваат во состојбата на реакт компонентата која врши real-time refresh на клиентот и ги листа резултатите од пребарувањето. || 15 15 || **2** и **3** ||**Ажурира лични податоци / Ажурира вештини кој ги поседува или сака да ги стекне** \\ **1.** По најавата, корисникот може да одбере да ги смени својте лични податоци. По кликање на копчето Edit на фронтендот корисникот е редиректиран во рамките на фронтендот, на посебна форма во која може да ги внесе промените кој сака да ги направи на својот профил. \\ **2.** По кликање на Edit копчето, корисникот е редиректиран до рутата за Edit при што вредностите на полињата во формата се популираат од самата реакт состојба за моментално најавениот корисник. \\ **3.** По внесување на соодветните промени и кликање на копчето Confirm се праќа Post request на бекендот кој го прима патеката /api/edit/account и /user/{userid}/{userEmail}. \\ **4.** Ова се разликува за различните типови на корисници. По пристап на оваа патека, бекендот ги зема податоците за корисникот како и неговиот id и email кој се променливи во патеката. \\ **5.** Потоа враќа Optional која е резултат на повик до функцијата од Account сервисот - findByIdAndEmail која прима 3 аргументи, id, email и тип на корисник. \\ **6.** Ова за возврат прави повик до соодветните репозиториуми според тоа каков тип на акаунт бара едит. \\ **7.** Доколку тој email и тоа id постојат, односно Optional објектот не е празен, се креираат две листи од вештини кој се земаат од база врз основа на нивните id-a кој се праќаат од корисникот како List<Long> (Исто како за регистрација.) \\ **8.** Потоа се повикува Account сервис функцијата editUser која ги прима сите нови вредности како параметри. \\ **9.** Оваа функција функционира на ист начин како кај регистрацијата, само разликата е што во овој случај се прави overwrite на постоечки корисник со одредено ID. Во оваа функција исто така се повикува и функцијата setUpUser() со едитираниот корисник. \\ **10.** По завршување на сето ова се испраќа новиот корисник како објект до фронтендот, доколку е успешно, а доколку не е се испраќа нов User Response DTO со error параметар. \\ **11.** На фронтенд се редиректира до профил страната при успешен едит, а при неуспешен се редиректира на едит страната со соодветна error порака.|| 16 16