= Имплементација на случаи на употреба || ID || Use Case || || 1 || Регистрација на нов корисник || || 2 || Преглед на достапни акции || || 3 || Преглед на детали за акција || || 4 || Купување акција || || 5 || Пристап до демо верзија || || 6 || Преглед на портфолио || == ИД: 1 - Регистрација на нов корисник Формата за регистрација овозможува внес на податоци и повикување на backend endpoint за создавање на нов корисник. [[Image(landingPage.png)]] [[Image(signupSucc.png)]] [[Image(signupReact.png)]] Методот /register го прима барањето од корисникот и ја повикува сервис логиката за регистрација. [[Image(authController.png)]] Потоа во овој метод се креира нов корисник, лозинката се енкриптира, се снима во базата и автоматски се креира празно портфолио за корисникот. На крај, системот генерира JWT токен кој ќе се користи за автентикација. [[Image(authServiceRegister.png)]] Entity класата User ја дефинира структурата на корисникот кој се зачувува во базата. [[Image(userModel.png)]] == ИД: 2 - Преглед на достапни акции На оваа страница се прикажани сите акции кои се достапни во системот. [[Image(dashboard.png)]] Компонентата прави повик до backend и ја прикажува листата на акции. [[Image(stocksReact.png)]] Овој метод го враќа списокот на сите акции од базата на податоци. [[Image(stockController.png)]] Stock Repository ја овозможува комуникацијата со базата за да се повлечат сите акции. [[Image(stockRepo.png)]] Класата Stock ја дефинира структурата на акциите кои се чуваат во базата. [[Image(stockModel.png)]] == ИД: 3 - Преглед на детали за акција Прикажан графикон за цената на акцијата во последната недела/месец. [[Image(stockDetails.png)]] Во useEffect hook, компонентата прави HTTP повик кон backend за да ги земе историските податоци за акцијата со дадениот симбол. [[Image(detailsReact.png)]] Овој метод враќа историја на цените за даден симбол на акција, што овозможува прикажување на графикон. [[Image(detailsController.png)]] Сервисниот слој ја зема историјата на акцијата од базата преку репозиториумот. [[Image(detailsService.png)]] Репозиториумот овозможува пристап до историските податоци за акција според симбол. [[Image(detailsRepo.png)]] StockHistory ја дефинира структурата на историските податоци за цената на акцијата. [[Image(detailsModel.png)]] == ИД: 4 - Купување акција Фронтенд формата овозможува на корисникот да внесе симбол на акција и количина и да испрати барање за купување (Trade Request). [[Image(tradeReq.png)]] Backend методот во TradeRequestController ја прима пораката од frontend-от, креира нов TradeRequest со статус PENDING и го поврзува со портфолиото на корисникот. [[Image(buyController.png)]] Admin интерфејс – прикажува листа на сите Trade Requests кои чекаат одобрување. Админ може да ги одобри или одбие барањата. [[Image(approval.png)]] Frontend код на админ страната кој ја прикажува листата на Trade Requests и овозможува интеракција (approve/decline). [[Image(adminReact.png)]] Backend логика - за да се изврши купопродажбата и статусот на барањето се менува на APPROVED. [[Image(adminapprove.png)]] Исто така ја зачувуваме успешната трансакција. [[Image(approve2.png)]] Идентична е и логиката за продавање на акција. == ИД: 5 - Пристап до демо верзија Корисникот може да го види својат демо-баланс и листата на акции, и да прави купувања/продавања за вежба. Корисникот може да купува и продава акции без ризик, бидејќи средствата се симулирани [[Image(demo1.png)]] [[Image(demo2.png)]] [[Image(demo3.png)]] Се креира локално акаунт за демо. [[Image(demoMake.png)]] Корисникот има фиктивен баланс и трансакции. Сите други информации, како вредност на портфолиото, најдобра/најлоша акција, процентуална промена, и графикот, се прикажуваат во нормален тек, идентично како кај вистинските корисници. [[Image(demoPort1.png)]] == ИД: 6 - Преглед на портфолио Интерфејсот за логирање на корисникот. [[Image(loginPage.png)]] Логиката во React која се справува со внесување на корисничките податоци и повикот кон backend за автентикација. [[Image(UC6-1.png)]] [[Image(UC6-2.png)]] Подоле е прикажан методот authenticate во AuthenticationService кој ја проверува корисничката комбинација username/password и генерира JWT токен. [[Image(UC6-3.png)]] На сликата е прикажан крајниот изглед на портфолиото на корисникот со сите holdings, баланс и тековна вредност на акциите. [[Image(realPort.png)]] Backend за добивање на портфолио на автентификуван корисник преку getMyPortfolio методот. [[Image(UC6-4.png)]]