= Use Case Implementations = == Регистрација на корисник Преку POST rest повик до серверот се извикува ендпоинтот при натискање на копчето за регистрација на корисник.\\ [[Image(rc1.png, width=1000px)]]\\ Од ендпоинтот се извикува сервисот за зачувување на корисникот, кој што го извикува соодветното JPA repository. Пасвордот се енкриптира за да се заштити на серверска страна.\\ [[Image(rc2.png, width=1000px)]]\\ == Регистрација на трговец Преку натискање на копчето се извикува функција, којашто прави ПОСТ повик до серверот со податоците за бизнисот. \\ [[Image(rb1.png, width=1000px)]]\\ Контролерот го извикува бизнисот за сервиси со функцијата save.\\ [[Image(rb2.png, width=1000px)]]\\ Функцијата за зачувување на бизнисот, прво ги персистира сервисите на бизнисот во соодветната табела во базата, а потоа го зачувува и бизнис-објектот.\\ [[Image(rb3.png, width=1000px)]]\\ Вака изгледа repository interface-от за зачувување во базата.\\ [[Image(rb4.png, width=1000px)]]\\ == Резервација на термин за услуга Преку натискање на копчето за резервација се извикува јаваскрипт функција, којашто го прави POST повик до контролерот за резервации. [[Image(ca1.png, width=1000px)]]\\ POST контролерот ја извикува соодветната функција во сервисот за резервации. [[Image(ca2.png, width=1000px)]]\\ Функцијата прво пребарува дали има некоја веќе постоечка резервација во тој од-до термин пред да ја зачува во базата. [[Image(ca4.png, width=1000px)]]\\ Доколку терминот е слободен, резервацијата ја зачувува во базата. [[Image(ca3.png, width=1000px)]]\\ == Пребарување на услуги Преку натискање на копчето ENTER или на копчето Search од браузерот, се извикува јаваскрипт функција којашто го зема текстот од полето search и прави ГЕТ повик до серверот. [[Image(ssr1.png, width=1000px)]]\\ Контролерот во ГЕТ ендпоинтот ја извикува функцијата getServicesByKeyword која што ги враќа сите сервиси коишто го создржат пребаруваниот збор или во името на услугата или во описот на услугата. [[Image(ssr2.png, width=1000px)]]\\ Самиот сервис ја извикува соодветната функција во репозиторито. [[Image(ssr3.png, width=1000px)]]\\ Репозиторито користи JPA query за пребарување на базата за соодветните податоци. [[Image(ssr4.png, width=1000px)]]\\ == Преглед на резервации за одреден бизнис Во самиот event callback на календар фрејмворкот е дефиниран повикот до базата со податоци за да ги земе сите резервации за одреден бизнис и да ги мапира во соодветен формат за приказ. [[Image(sr1.png, width=1000px)]]\\ Гет ендпоинтот во контролерот за резервации ја извикува соодветната функција за наоѓање на сите активни резервации во базата и потоа ги мапира во соодветен формат за враќање кон фронтендот. [[Image(sr2.png, width=1000px)]]\\ Самиот сервис ја извикува соодветната функција од репозиторито. [[Image(sr3.png, width=1000px)]]\\ Репозиторито користи JPA query за наоѓање на соодветните резервации со статус NEW. [[Image(sr4.png, width=1000px)]]\\ == Преглед на идни закажани резервации При лоадирање на страната за уредување на профилот на трговецот, се извикува функцијата за лоадирање на сите идни резервации. [[Image(ga1.png, width=1000px)]]\\ Функцијата го извикува GET rest endpoint-от, дефиниран во контролерот за Резервации. [[Image(ga2.png, width=1000px)]]\\ Самиот контролер ја повикува функцијата од сервисот за резервации кај што е дефинирана логиката за дали да се земат резервациите за бизнисот или за крајниот корисник. [[Image(ga3.png, width=1000px)]]\\ Доколку се бараат резервациите за трговецот, тогаш се извикува функцијата findFutureAppointmentsByBusinessOwnerId. [[Image(ga4.png, width=1000px)]]\\ Доколку се бараат резервациите за корисникот, тогаш се извикува функцијата findFutureAppointmentsByCustomerId. [[Image(ga5.png, width=1000px)]]\\ == Преглед на ревјуа и рејтинзи за одредена услуга При притикање на копчето за Ревјуа за одреден сервис во почетната страна (при веќе селектиран сервис), се вика функцијата за лоадирање и приказ на сите ревјуа за сервисот. [[Image(gr1.png, width=1000px)]]\\ Се извикува GET endpoint-от на контролерот за ревјуа. [[Image(gr2.png, width=1000px)]]\\ Самиот контролер го извикува сервисот, кој што прави повик до репозиторито за пребарување на сите ревјуа за одредена услуга. [[Image(gr3.png, width=1000px)]]\\