Version 13 (modified by 44 hours ago) ( diff ) | ,
---|
Имплементација на случаи на употреба
На следната табела се прикажани сработените кориснички сценарија:
ID | Use Case |
1 | Регистрација |
2 | Најава |
3 | Преглед на почетната страна |
4 | Филтрирање производи |
5 | Пребарување производи |
6 | Преглед на панелот на направени нарачки |
7 | Уреди производ |
8 | Смени статус на нарачка |
9 | Додавање во кошничка |
10 | Поднесување нарачка |
11 | Преглед на мои нарачки |
12 | Разгледај продукт |
13 | Остави оценка (rating, review) |
Нерегистриран Корисник
Use Case ID: 1 – Регистрација
Корисникот го кликнува копчето за регистрација со што се извршува основна валидација на формата на клиентска страна (ако станува збор за купувач, последната селекција од регистрацијата не треба да биде селектирана).
Потоа аuthContext праќа POST барање до backend (аuth.js/register). По успешен одговор од серверот, аuthContext ја зачувува корисничката информација во својот локален state и ја запишува во localStorage за постојана сесија и побрзо ажурирање.
На серверот се извршува повторна валидација и проверка дали веќе постои корисник со дадените податоци. Ако валидацијата е успешна, backend креира нов запис во табелата users и враќа информации за корисникот. На серверот се валида, проверува дали корисникот постои, хашира лозинка и креира запис во датабазата.
Use Case ID: 2 – Најава
Корисникот притиска „Log in“ копче на страницата.
Клиентот повикува login() од аuthContext, која потоа праќа POST барање /api/auth/login до backend. Кај фронтенд, при успех кај серверот, аuthContext ја обновува состојбата (и запишува во localStorage-за повторно вчитување по refresh).
Backend контролер ја верификува лозинката, креира JWT и враќа user + token.
Најавен Корисник
Use Case ID: 3 – Преглед на почетната страна
Use Case ID: 4 – Филтрирање производи
Корисникот внесува текст во полето за пребарување и/или избира категорија.
Компонентата го гради објектот со филтри и повикува fetchCategories(filters).
ProductContext праќа HTTP GET до backend.
Backend враќа филтриран список на производи. Kонтекстот го ажурира products и loading. Home компонентата се ререндерира и прикажува филтрираните резултати.
Use Case ID: 5 – Пребарување производи
Принципот на функционирање е ист како и кај филтрирање, само што наместо fetchCategories() се повикува fetchProduct().
Use Case ID: 6 – Преглед на панелот на направени нарачки
Ги прикажува сите нарачки кои кои содржат производи од логираниот продавач. Се прави GET повик кон backend (коментар кажува /orders/admin/all) и се добиваат нарачките. По добивање, може да се применува клиентско филтрирање со помош на функцијата useCallback се филтрира со зависност филтер по статус (all, pending, confirmed, processing, shipped, delivered, cancelled).
Use Case ID: 7 – Уреди производ
Use Case ID: 8 – Смени статус на нарачка
Eve kako izgleda backend-ot za da se smeni statusot.
Use Case ID: 9 – Додавање во кошничка
Порака и изглед на кошничката по додавањето продукти.
Use Case ID: 10 – Поднесување нарачка
Поднесување на нарачката и приказ на историјата на нарачки.
Use Case ID: 11 – Преглед на мои нарачки
Прво се појавува можност за разгледување нарачката, која е во состојба на чекање (pending).
Use Case ID: 12 – Разгледај продукт
Use Case ID: 13 – Остави оценка (rating, review)
Attachments (25)
- Registracija.png (63.2 KB ) - added by 2 days ago.
- Najava.png (52.1 KB ) - added by 2 days ago.
- registracija-osnovna validacija.png (128.5 KB ) - added by 2 days ago.
- register backend.png (177.5 KB ) - added by 2 days ago.
- register authcontext.png (61.0 KB ) - added by 2 days ago.
- login authcontext.png (57.5 KB ) - added by 2 days ago.
- login backend.png (77.8 KB ) - added by 46 hours ago.
- login code.png (54.6 KB ) - added by 45 hours ago.
- filtriraj.png (22.6 KB ) - added by 45 hours ago.
- home.png (58.3 KB ) - added by 45 hours ago.
- prebaraj.png (72.0 KB ) - added by 45 hours ago.
- Prebaraj.png (182.8 KB ) - added by 45 hours ago.
- Home page.jpg (171.0 KB ) - added by 45 hours ago.
- Filtriraj.png (223.7 KB ) - added by 45 hours ago.
- seller panel-all orders.png (81.9 KB ) - added by 44 hours ago.
- smeni status.png (42.4 KB ) - added by 44 hours ago.
- Home-logedin.jpg (235.5 KB ) - added by 30 hours ago.
- fetchProducts.png (91.4 KB ) - added by 2 hours ago.
- get 1 product.png (98.3 KB ) - added by 2 hours ago.
- prikazuvanje produkti 1.png (191.2 KB ) - added by 2 hours ago.
- prikazuvanje produkti 2.png (154.4 KB ) - added by 2 hours ago.
- fetchCategories.png (34.8 KB ) - added by 2 hours ago.
- createProduct.png (118.2 KB ) - added by 11 minutes ago.
- dodajProizvod.png (48.3 KB ) - added by 10 minutes ago.
- uredi proizvod.png (122.3 KB ) - added by 10 minutes ago.