== Имплементација на случаи на употреба == На следната табела се прикажани сработените кориснички сценарија: || '''ID''' || '''Use Case''' || || 1 || Регистрација || || 2 || Најава || || 3 || Филтрирање производи || || 4 || Пребарување производи || || 5 || Преглед на панелот на направени нарачки|| || 6 || Уреди производ || || 7 || Смени статус на нарачка || || 8 || Додавање во кошничка || || 10 || Поднесување нарачка || || 11 || Преглед на мои нарачки || || 12 || Разгледај продукт || || 13 || Остави оценка (rating, review) || [[BR]] == Нерегистриран Корисник == === Use Case ID: 1 – Регистрација === [[Image(Registracija.png)]] [[BR]] Корисникот го кликнува копчето за регистрација со што се извршува основна валидација на формата на клиентска страна (ако станува збор за купувач, последната селекција од регистрацијата не треба да биде селектирана). [[Image(registracija-osnovna validacija.png)]] Потоа AuthContext повикува помошна функција во services (authService) која праќа POST барање до backend (/register). На серверот се извршува повторна валидација и проверка дали веќе постои корисник со дадените податоци. Ако валидацијата е успешна, backend креира нов запис во табелата users и враќа информации за корисникот. По успешен одговор, AuthContext ја зачувува корисничката информација во својот локален state и ја запишува во localStorage за постојана сесија и побрзо ажурирање. [[BR]] [[Image()]] [[Image()]] === Use Case ID: 2 – Најава === Корисникот се најавува и е редиректиран на home страницата како најавен корисник со дополнителни функции. [[BR]] [[Image(Najava.png)]] [[Image(Najaven Kupuvac.jpg)]] == Регистриран Корисник == === Use Case ID: 3 – Преглед на почетната страна === [[Image(Home page.jpg)]] === Use Case ID: 4 – Филтрирање производи === [[Image(Filtriraj.png)]] === Use Case ID: 5 – Пребарување производи === [[Image(Prebaraj.png)]] === Use Case ID: 6 – Преглед на својот профил === [[Image()]] === Use Case ID: 7 – Преглед на мои нарачки === [[Image(Moi naracki, prazni-kupuvac.png)]] === Use Case ID: 8 – Додавање во кошничка === На почетокот кошничката на купувачот е празна. [[BR]] [[Image(Prazna koshnicka kupuvac.jpg)]] === Use Case ID: 9 – Разгледување кошничка === Порака и изглед на кошничката по додавањето продукти. [[BR]] [[Image(Dodaden vo koshnicka-kupuvac.jpg)]] [[Image(View koshnicka-kupuvac.jpg)]] Изглед на checkout делот од страната пред и по пополнувањето на соодветните информации. [[BR]] [[Image(Checkout-kupuvac.png)]] [[Image(Popolnet checkout - kupuvac.png)]] === Use Case ID: 10 – Поднесување нарачка === Поднесување на нарачката и приказ на историјата на нарачки. [[BR]] [[Image(Place Order-kupuvac.png)]] === Use Case ID: 11 – Преглед на нарачката и соодветните статуси === Прво се појавува можност за разгледување нарачката, која е во состојба на чекање (pending). [[BR]] [[Image(view details kaj moi naracki i pending-kupuvac.png)]] Откако продавачот ќе ја одобри нарачката, статусот се променува од состојба на чекање во статус дека нарачката е одобрена. [[BR]] [[Image(confirmed status-kupuvac.png)]] Со прифаќање на нарачката од страна на продавачот, тој почнува да ја припрема нарачката и преминува во статус на процесирање на самата нарачка. [[BR]] [[Image(processing-kupuvac.png)]] По подготовката на нарачката таа се доставува на дадената адреса. Соодветно на тоа, се ажурира и статусот кај преглед на нарачката во испратена за испорака, а потоа и примена од страна на купувачот. [[BR]] [[Image(shipped-kupuvac.png)]] [[Image(delivered-kupuvac.png)]]