= Имплементација на кориснички сценарија = === Нерегистриран корисник - клиент ||= ID =||= Use case =|| || 1 || Разгледува достапни мобилни телефони || === Регистриран корисник - клиент ||= ID =||= Use case =|| || 1 || Зачувува понуда на мобилен телефон како омилена || || 2 || Споредува спецификации на понуди || || 3 || Избира спецификации кои го интересираат || === Администратор ||= ID =||= Use case =|| || 1 || Прави измена на спецификациите на понуда за даден мобилен телефон || || 2 || Потврдува дека спецификациите на понуда за даден мобилен телефон се точни || === Супер администратор ||= ID =||= Use case =|| || 1 || Менаџира со доделување привилегии за администратор на даден корисник || == Корисничко сценарио "Зачувување понуда на мобилен телефон како омилена" [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309621274_839101720582549_2105622631539965210_n.png?_nc_cat=111&ccb=1-7&_nc_sid=ae9488&_nc_ohc=gIboF7QzQnEAX8KBW1k&_nc_ht=scontent.fskp4-1.fna&oh=03_AVJIn9Opx51JlQxPi3nnT_3b-zBCuu2P4bet4czm8yvccw&oe=635D1E14",80%,align=center)]] \\ За додавање на понуда како омилена, корисникот тоа го прави со клик на ѕвезда иконата која што при самиот клик повикува функција која што испраќа PUT request до бекенд апликацијата. \\ \\ [[Image("https://scontent.fskp4-2.fna.fbcdn.net/v/t1.15752-9/309243093_476694071141279_2324107414869588527_n.png?_nc_cat=108&ccb=1-7&_nc_sid=ae9488&_nc_ohc=QvNJEtySSnEAX_o3IBe&_nc_ht=scontent.fskp4-2.fna&oh=03_AVJ_Qnkh9-KXlX5vqU3PyL6YSPFyZOubHRcYxDRwEs3Pjw&oe=635DCB1C",60%,align=center)]] \\ Соодветно, се проследуваат и userId - уникатен идентификатор за секој корисник, како и уникатен id за самата понуда која што корисникот ја зачувал, а во headers се праќа токенот кој служи за автентикација на корисникот. \\ \\ Од страна на бекенд апликацијата, барањето ќе биде пресретнато од контролер, кој што соодветно користи сервис и ги проследува параметрите до истиот каде што е имплементирана логиката. \\ \\ [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309705609_2022696971454096_3558983615662092618_n.png?_nc_cat=104&ccb=1-7&_nc_sid=ae9488&_nc_ohc=Uo3MFW1bdG0AX8FAr4f&_nc_ht=scontent.fskp4-1.fna&oh=03_AVLjZbfiXFRdfCDPokWRU0RA4sbZm-eJBzQTYRDmlCO5AQ&oe=635D8A99",60%,align=center)]] \\ \\ [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309686301_587231219799428_467304894285591081_n.png?_nc_cat=105&ccb=1-7&_nc_sid=ae9488&_nc_ohc=ZSkKAeHKrfoAX9hunr7&_nc_ht=scontent.fskp4-1.fna&oh=03_AVIvLZn4bMV97pFCHp4zj4govPlvTXWNq2PwVTIkjEz8iw&oe=635DBD17",60%,align=center)]] \\ \\ Методот кој што се повикува од сервисот, се користи и за додавање и за бришење на омилени понуди, во зависност од проследениот параметар "option". При додавање, се проследува "add", при бришење "remove". Првично, се прави проверка дали понудата и корисникот постојат во датабазата. Доколку не постојат, ќе се врати статус 400 (bad request). Во спротивно, се зема корисникот и понудата од датабаза, понудата се додава на корисникот и потоа се зачувува повторно корисникот во датабаза. == Корисничко сценарио "Правење измена на спецификациите на дадена понуда за мобилен телефон" [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309428397_2889635214673007_1220188362249930873_n.png?_nc_cat=102&ccb=1-7&_nc_sid=ae9488&_nc_ohc=eiS3ANeZXJgAX_5q516&_nc_ht=scontent.fskp4-1.fna&oh=03_AVJuXCUJD8wZ9YjA-sANaF65RiFAZDOlhdHfzJQ0JoZ5Jg&oe=635E7015",60%,align=center)]] \\ За промена на спецификациите на дадена понуда, администраторот тоа го прави со клик на копчето "Измени", која што при самиот клик повикува функција која што испраќа PUT request, со објект кој што ги содржи нововнесените спецификации до бекенд апликацијата. \\ \\ [[Image("https://scontent.fskp4-2.fna.fbcdn.net/v/t1.15752-9/309697334_1167998630735232_2933207776030131159_n.png?_nc_cat=108&ccb=1-7&_nc_sid=ae9488&_nc_ohc=6mw8H4Y5OcQAX9E_LZt&_nc_ht=scontent.fskp4-2.fna&oh=03_AVL7lyJ_NvH5vJs3U5YMaJN_eghQfbE5l-f4baVctFS9ww&oe=635E6F0F",40%,align=center)]] \\ \\ Од страна на бекенд апликацијата, барањето ќе биде пресретнато од контролер, кој што соодветно користи сервис и ги проследува параметрите до истиот каде што е имплементирана логиката. \\ \\ [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309517702_760663072045451_5991569171177452781_n.png?_nc_cat=111&ccb=1-7&_nc_sid=ae9488&_nc_ohc=27BV8ghOI1YAX_kQi0r&_nc_ht=scontent.fskp4-1.fna&oh=03_AVKY8_BfS6l_yWXWocu-exrVE9uFFIs6bp7CXmrrpw1YIw&oe=635E8290",60%,align=center)]] \\ \\ [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309670904_1286668818745338_8481358792109828728_n.png?_nc_cat=104&ccb=1-7&_nc_sid=ae9488&_nc_ohc=JPjEqbuG3HsAX89ZvsU&_nc_ht=scontent.fskp4-1.fna&oh=03_AVIX68zpSuEOg9VBGkf4Fo3BHsK9UuQcla7GyP2nGCioiQ&oe=635E7F9E",60%,align=center)]] \\ \\ Во методот кој што се повикува од сервисот, се додаваат уште неколку потребни атрибути кои што треба да ги содржи понудата, а потоа се зачувува истата со нововнесените спецификации. == Корисничко сценарио "Доделување привилегии за администратор на даден корисник" [[Image("https://scontent.fskp4-2.fna.fbcdn.net/v/t1.15752-9/309789775_821685935530411_8761998099133168200_n.png?_nc_cat=106&ccb=1-7&_nc_sid=ae9488&_nc_ohc=u-1YQNytqq0AX9efb4y&_nc_ht=scontent.fskp4-2.fna&oh=03_AVIAKqhsJLtUZKMZveHAyg7lXVbkc_R0UmcoEPuCOsUlrw&oe=635EAAD0",60%,align=center)]] \\ За доделување на пермисии за администратор на даден корисник, супер администраторот тоа го прави со клик на копчињата "Додај админ привилегии" и "Одземи админ привилегии", на кои што при самиот клик се повикуваат функциите "addAdmin" или "removeAdmin", во зависност од тоа кое копче е притиснато. Двете функции испраќаат PUT request до бекенд апликацијата. \\ \\ [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309606209_1357458251451407_5916617440367466916_n.png?_nc_cat=107&ccb=1-7&_nc_sid=ae9488&_nc_ohc=nNPWsIcKoAcAX_qBGTF&_nc_ht=scontent.fskp4-1.fna&oh=03_AVIJQkedjlrSFDHKOcz9zyWvrf3BuvizuSNO8JnG0rzngA&oe=635B9BEB",45%)]] [[Image("https://scontent.fskp4-1.fna.fbcdn.net/v/t1.15752-9/309279236_507298257440142_7400941116772694200_n.png?_nc_cat=105&ccb=1-7&_nc_sid=ae9488&_nc_ohc=vCUVreRDr74AX9x6r4j&_nc_ht=scontent.fskp4-1.fna&oh=03_AVI23RMndb9XYdtKfNyNzNARuodobHUBv7Itkv32dV70eA&oe=635B31BE",45%)]] \\ \\ Соодветно, во headers се праќа токенот кој што ќе служи за автентикација на супер администраторот. \\ \\ Од страна на бекенд апликацијата, барањата ќе бидат пресретнати од контролер, кој што соодветно користи сервис и го проследува id-to до истиот каде што е имплементирана логиката. \\ \\ [[Image("https://scontent.fskp4-2.fna.fbcdn.net/v/t1.15752-9/309533505_810187033365565_4190797260986921684_n.png?_nc_cat=101&ccb=1-7&_nc_sid=ae9488&_nc_ohc=CuQpnkK_N3UAX_YlWr2&_nc_ht=scontent.fskp4-2.fna&oh=03_AVJk0b0b2CmW_l9_p4tXP1m3n6ly1zclx4Nci_cVW-qT7Q&oe=635D3B50",60%,align=center)]]