wiki:UseCaseImplementation

Имплементација на случаи на употреба

Заклучно со оваа фаза се имплементирани сите предвидени кориснички сценарија, односно:

ID Use Case
1 Регистрација на корисник
2 Најава на корисник
3 Додавање на пријател
4 Креирање на група
5 Додавање трошок на пријател
6 Додавање трошок на група
7 Подмирување на торшок во група
8 Подмирување трошок на пријател

Најавен корисник

Ид 4 Креирање на група

Со кликање на копчето Create Group се испраќа GET барање до backend за добивање на сите пријатели на корисникот.

Потоа по исполнување на promise се повикува функцијата insertNames() со што се пополнува модалот со имињата на пријателите, и на крај се отвара самиот модал.

После внес на име на групата и одбирање на членовите со кликнување на копчето "Create Group" се повикува функцијата:

Каде што дополнително се прават проверки за празни полиња и неселектиран пријател. Потоа се повикува функцијата makeRequest() со што dto-то се испраќа до backendot. На серверска страна се повикува функцијата createGroup() во контролерот GroupController Следно од сервисниот слој се повикува сервисот GroupService со функцијата createGroup()

Ид 6 Додавање трошок на група

Со кликање на копчето "Add Expense" се повикува следната функција: Каде што после секој успешен одговор од серверот се обработуваат податоците, и се вметнуваат во модалот.

При клик на одреден група се исрпаќа GET барање до серверот за сите нејзини членови

Потоа при внесување на сума, и селектирање на членови за учество во трошокот при клик на "Add Expense" копчето се повикува следната функција:

Со направентот POST барање се повикува контролерот ExpenseController со функцијата addExpense()

Во функцијата погоре правиме проверка на податоците ( дали постои пријателство меѓу одбраните членови, дали се валидни корисничките имиња)

Доколку сите услови се исполнети, при успешен тек на кодот стигаме до следниот дел код: Во кодот погоре повикуваме splitExpenseService.createGroupExpense() со што преминуваме во сервисниот слој каде што се процесира логиката околку поделбата на трошокот, додека во остантиот дел од кодот се проверува за исплатени долгови со што би се затвориле тековните трошоци (не би се читале повеќе од база)

Во функцијата createGroupExpense() го креираме ентитетот од Expense и соодветно од низата од кориснички имиња ги вчитуваме тие ентитети (User) од базата. Всушност ги спремаме податоците за следниот чекор што е делењето на трошок преку функциата createGroupExpenseSplit(). За крај се повикува еден циклус врз низата корисници со што се update-нува тековната состојба на долгови во базата.

При успешно извршување на кодот како одговор конролерот испраќа објект од типот Expense со цел да се избеге рефреширање на страната за да се види новиот трошок.

Last modified 2 weeks ago Last modified on 10/21/25 13:18:57

Attachments (17)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.