Changes between Initial Version and Version 1 of UseCase0006PrototypeImplementation


Ignore:
Timestamp:
09/25/26 01:26:10 (6 days ago)
Author:
223306
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase0006PrototypeImplementation

    v1 v1  
     1= Use-case 0006 Implementation - Управување со омилени книги =
     2
     3'''Иницирачки актер:''' Купувач
     4
     5'''Други актери:''' Нема
     6
     7== Опис ==
     8
     9Најавениот купувач може да додава книги во својата листа на омилени книги, да ја прегледува листата со зачувани омилени книги и да отстранува книги од неа. Омилените книги се зачувуваат во базата на податоци и остануваат достапни и при следно најавување на корисникот.
     10
     11== Сценарио ==
     12
     131. Најавениот купувач отвора страница со детали за избрана книга. На страницата се прикажуваат информациите за книгата и можност за додавање на книгата во омилени.
     14
     15[[Image(UseCase0006_1.png, width=800)]]
     16
     172. Корисникот ја додава избраната книга во своите омилени. Системот го идентификува најавениот корисник и ја зачувува врската помеѓу корисникот и книгата во табелата `project.omileni`.
     18
     19За додавање на книгата во омилени се користи следната SQL наредба:
     20
     21{{{
     22#!sql
     23INSERT INTO project.omileni
     24    (korisnik_id, kniga_id, datum_dodavanje)
     25VALUES (%s, %s, CURRENT_DATE)
     26ON CONFLICT (korisnik_id, kniga_id) DO NOTHING;
     27}}}
     28
     29Со `ON CONFLICT DO NOTHING` се спречува повторно додавање на истата книга во омилените книги на истиот корисник.
     30
     31[[Image(UseCase0006_2.png, width=800)]]
     32
     333. Корисникот ја отвора страницата „Омилени“. Системот ги презема омилените книги само за моментално најавениот корисник.
     34
     35За прикажување на омилените книги се користи следната SQL наредба:
     36
     37{{{
     38#!sql
     39SELECT
     40    k.kniga_id,
     41    k.naslov,
     42    k.cena,
     43    k.opis,
     44    k.godina_izdavanje
     45FROM project.omileni o
     46JOIN project.knigi k
     47    ON o.kniga_id = k.kniga_id
     48WHERE o.korisnik_id = %s
     49ORDER BY o.datum_dodavanje DESC;
     50}}}
     51
     524. Системот ја прикажува листата со омилените книги на корисникот.
     53
     54[[Image(UseCase0006_3.png, width=800)]]
     55
     565. Корисникот може да избере „Отстрани од омилени“ за книга што повеќе не сака да биде зачувана во неговата листа.
     57
     58За отстранување на книгата од омилени се користи следната SQL наредба:
     59
     60{{{
     61#!sql
     62DELETE FROM project.omileni
     63WHERE korisnik_id = %s
     64AND kniga_id = %s;
     65}}}
     66
     676. По отстранувањето, системот повторно ја прикажува страницата „Омилени“, без отстранетата книга.
     68
     69[[Image(UseCase0006_4.png, width=800)]]