wiki:UseCaseImplementationsFinal

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

На следната табела се прикажани сработените кориснички сценарија

ID Use Case
1 Кошничка - нелогиран корисник
2 Логирање - Оpen Authorization protocol
3 Известување при промена на статус (frontend)
4 Известување на продавачот за нова нарачка (frontend)
5 Известување по е-пошта (добива порака на email)
6 Додај во омилени (wishlist)

ИД: 1 - Kошничка - нелогиран корисник

При вчитување на основната страна, сега корисникот иако не е најавен ќе може да види дека има опција за да се купи производот. Доколку сака истиот да го купи, ќе го пренасочи на страната за логирање.


Кошничката работи за најавени корисници преку серверски API, а за нелогирани се зачувува во localStorage и синхронизира при најава.

ИД: 2 - Логирање - Оpen Authorization protocol

Корисниците се аутентицираат со JWT или преку Google OAuth; при OAuth backend ги линкува или креира корисниците, а ако постои сметка со лозинка OAuth се блокира. Кога корисникот ќе ја кликне опцијата за најава со google, на backend делот се иницира OAuth протоколот кон Google и се автентицира корисничката сметка и повикува callback на backend-от каде ќе проба да најде корисник по google_id. Ако постои го враќа тој корисник. Ако не најде по google_id ќе проба по email. Ако има user со тој email и тој user има password, OAuth логин се одбива и враќа порака да се најави со лозинка. Ако има user со тој email но нема password, се „линкува“ Google профилот и се враќа тој user, а ако нема user со тој email се креира нов user во users табелата со google_id и генераран username, и се враќа новиот user. По успешен автентицирање, backend издава JWT и се враќа кон frontend callback страница со токен.


ИД: 3 - Известување при промена на статус

Со промена на статусот од страна на продавницата, на страната на купувачот, во делот за известувања му стигнува нова порака дека статусот на нарачаниот продукт е променет.



Eве ги следните функционалности на страната на серверот.

ИД: 4 - Известување на продавачот за нова нарачка

Кога ќе се купи продукт од таа продавница, на профилот на продавачот, во header-от кај делот за известувања се појакува икона дека е стигната пораката и доколку се отвори самата порака се пренасочува корисникот до продавачкиот панел каде може да ги разгледа сите нарачки.



По успешен checkout, се предаваат информациите за ид на продавач и ид на купувач во функцијата createNotification, кој само вметнува ред во базата за податоци.

ИД: 5 - Известување по е-пошта

Во оваа потточка се имплементирани на друг начин барањата со ид 3 и ид 4, само што сека наместо да добива известувања на страната, корисникот добива известувања на неговата е-пошта. Се користи алатката mailtrap кој ни овозможува симулира испраќање и примање на мејлови.

Еве како изгледа архитектурата на е-маилот.

При промена на статусот од страна на купувачот се добива соодветна порака.

Со купување на продукт од таа продавница, на продавницата стигнува порака дека имаат нова нарачка.

ИД: 6 - Додај во омилени (wishlist)

По кликањето на иконата се прави барање до серверот. Само најавени корисници може да ги менуваат/видат своите омилени продукти. Серверот може да врати листа на фаворити за тековниот корисник, да додаде во омилени или да отстрани од омилени.


Last modified 3 days ago Last modified on 10/13/25 18:43:38

Attachments (32)

Note: See TracWiki for help on using the wiki.