= Имплементација на случаи на употреба = == Пребарување на сместување == Корисникот се наоѓа на home страницата и го пополнува формуларот и притиска на копчето пребарај. [[Image(applicationForm.png)]] Во позадина formHandler-от испраќа POST барање до серверот на локација /submit. Серверот го парсира JSON стрингот и ги препраќа параметрите до системот за управување со базата на податоци. [[Image(postRequest.png)]] DatabaseUtil креира објекти од типот Option со параметрите преземени од базата. [[Image(createOptionObjects.png)]] Базата на податоци за Options е поделена на два дела: - **Options**: која чува основни податоци за патувањето како линк, име на хотел, држава... - **optionDetails**: чува за секоја Опција податоците за самото патување како цена, тип на соба, поволности. [[Image(databaseStructure.png)]] Оваа структура на база овозможува динамички да се зачувани онолку видови на патувања колку што постојат за дадениот хотел. Опциите се враќаат кон frontend formHandler скриптата, која за секоја опција креира div container и ги пополнува податоците. [[Image(optionDivContainers.png)]] == Зачувување на сместувања == Регистрираниот и најавен корисник по пребарувањето може да ги зачува омилените патувања преку копчето зачувај. Зачуваните патувања се преместуваат во делот омилени патувања. [[Image(saveFavoritesButton.png)]] Frontend-от праќа POST барање со /save-favorite, барањето го превзема SaveFavoriteHandler на серверот, ги парсира optionId и userId и ја пребарува базата за листата на зачувани. [[Image(saveFavoriteHandler.png)]] Вратените информации ги прима frontend делот кој понатака ги прикажува на корисникот. [[Image(displaySavedTrips.png)]] Дополнително, од changes параметарот ја пополнува листата со промени на патувањето, ако постојат. [[Image(changesParameters.png)]] Зачувани патувања [[Image(savedTrips.png)]]