21 | | || 4 ||**Објавува работа/пракса за која се потребни одредени вештини** \\ **1.** По најава како компанија, која се одвива исто како за секој корисник, компанијата може да одбере поглед кон листи од работи или пракси што ги има регистрирано. \\ **2.** По избор на табот и клик на копчето за регистрација на тоа што сака да регистрира, е редиректирана на соодветната рута на фронтендот. \\ **3.** Оваа рута содржи форма во која треба да се пополнат податоците за соодветно работата или праксата што корисникот сака да ги регистрира, како и вештини што ги бара или тренира. \\ **4.** По пополнувањето се клика на копче за Confirm. \\ **5.** Оттука се праќаат податоците од формата до бекендот преку axios повик на патека /api/register/work и соодветно /job или /internship. \\ **6.** По прифаќање на податоците бекендот преку Work Register контролерот проверува дали корисникот кој ја постирал работата има привилегии да го направи тоа. \\ **7.** Доколку има се креира нов објект од тип работа или пракса и се додава во базата преку Work сервисот. \\ **8.** Во Work сервисот се креираат листа од вештини според пратените ID-a од фронтендот, и се зема Account-от кој ја креира оваа работа од база според ID-то. \\ **9.** Се креира нов објект од тип работа или пракса, и се впипшува во базата преку репозиториумот. \\ **10.** При регистрација се земаат сите корисници во листа, и Matchmaker сервисот одново го повикува соодветниот метод за мечување на сите корисници со ново внесените работи, пракси или проекти и ги зачувува коефициентите во базата. \\ **11.** По завршување на сето ова на компанија корисникот му се враќа ново внесената работа како објект на фронтендот. \\ **12.** Од таму оваа работа се додава во листата на сите работи на тој корисник, се редиректира до работите и се прикажува новата листа. Иста е постапката и за internship кај компаниите и кај project кај тимовите. || |
22 | | || 5 ||**Ажурира податоци за веќе објавена работа/пракса** \\ **1.** Ова се одвива преку истата форма за креирање на работа/пракса само разликата е што се постира на различна патека во Work Edit контролерот, во овој случај /api/edit/work и /job/{id} или /internship/{id}. \\ **2.** Доколку се внесени валидни информации, и корисникот кој го праќа барањето за едит е корисникот кој ја регистрирал таа работа. \\ **3.** Се пристапува до функцијата editJob или editInternship кој соодветно пристапуваат до базата и ги презапишуваат податоците на истиот начин како кај регистрација, но тука не прави мечинг затоа што вештините неможе да се сменат. || |
23 | | || 6 ||**Ажурира податоци за компанијата** \\ **1.** Ова се одвива на ист начин како кај корисникот само се разгранува во соодветните функции кој се однесуваат за компаниите во бекендот без делот кај што се едитираат вештините. || |
| 21 | || **4** ||**Објавува работа/пракса за која се потребни одредени вештини** \\ **1.** По најава како компанија, која се одвива исто како за секој корисник, компанијата може да одбере поглед кон листи од работи или пракси што ги има регистрирано. \\ **2.** По избор на табот и клик на копчето за регистрација на тоа што сака да регистрира, е редиректирана на соодветната рута на фронтендот. \\ **3.** Оваа рута содржи форма во која треба да се пополнат податоците за соодветно работата или праксата што корисникот сака да ги регистрира, како и вештини што ги бара или тренира. \\ **4.** По пополнувањето се клика на копче за Confirm. \\ **5.** Оттука се праќаат податоците од формата до бекендот преку axios повик на патека /api/register/work и соодветно /job или /internship. \\ **6.** По прифаќање на податоците бекендот преку Work Register контролерот проверува дали корисникот кој ја постирал работата има привилегии да го направи тоа. \\ **7.** Доколку има се креира нов објект од тип работа или пракса и се додава во базата преку Work сервисот. \\ **8.** Во Work сервисот се креираат листа од вештини според пратените ID-a од фронтендот, и се зема Account-от кој ја креира оваа работа од база според ID-то. \\ **9.** Се креира нов објект од тип работа или пракса, и се впипшува во базата преку репозиториумот. \\ **10.** При регистрација се земаат сите корисници во листа, и Matchmaker сервисот одново го повикува соодветниот метод за мечување на сите корисници со ново внесените работи, пракси или проекти и ги зачувува коефициентите во базата. \\ **11.** По завршување на сето ова на компанија корисникот му се враќа ново внесената работа како објект на фронтендот. \\ **12.** Од таму оваа работа се додава во листата на сите работи на тој корисник, се редиректира до работите и се прикажува новата листа. Иста е постапката и за internship кај компаниите и кај project кај тимовите. || |
| 22 | || **5** ||**Ажурира податоци за веќе објавена работа/пракса** \\ **1.** Ова се одвива преку истата форма за креирање на работа/пракса само разликата е што се постира на различна патека во Work Edit контролерот, во овој случај /api/edit/work и /job/{id} или /internship/{id}. \\ **2.** Доколку се внесени валидни информации, и корисникот кој го праќа барањето за едит е корисникот кој ја регистрирал таа работа. \\ **3.** Се пристапува до функцијата editJob или editInternship кој соодветно пристапуваат до базата и ги презапишуваат податоците на истиот начин како кај регистрација, но тука не прави мечинг затоа што вештините неможе да се сменат. || |
| 23 | || **6** ||**Ажурира податоци за компанијата** \\ **1.** Ова се одвива на ист начин како кај корисникот само се разгранува во соодветните функции кој се однесуваат за компаниите во бекендот без делот кај што се едитираат вештините. || |
28 | | || 7 || **Објавува проекти/работа за која се потребни одредени вештини** \\ **1.** Ист начин како кај компанијата само место internship тимовите објавуваат project. Постапката е иста само на различни endpoints и различни објекти кој одговараат на проект. || |
29 | | || 8 || **Ажурира податоци за веќе објавени проект/работа** \\ **1.** Ист начин како кај компанијата. || |
30 | | || 9 || **Ажурира податоци за тимот** \\ **1.** И ова е исто како и во претходните случаи само се пристапува до team endpoint кој ги повикува соодветните сервиси и репозиториуми. || |
| 28 | || **7** || **Објавува проекти/работа за која се потребни одредени вештини** \\ **1.** Ист начин како кај компанијата само место internship тимовите објавуваат project. Постапката е иста само на различни endpoints и различни објекти кој одговараат на проект. || |
| 29 | || **8** || **Ажурира податоци за веќе објавени проект/работа** \\ **1.** Ист начин како кај компанијата. || |
| 30 | || **9** || **Ажурира податоци за тимот** \\ **1.** И ова е исто како и во претходните случаи само се пристапува до team endpoint кој ги повикува соодветните сервиси и репозиториуми. || |