wiki:UseCase0006PrototypeImplementation

Use-case 0006 Implementation - Управување со омилени книги

Иницирачки актер: Купувач

Други актери: Нема

Опис

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

Сценарио

  1. Најавениот купувач отвора страница со детали за избрана книга. На страницата се прикажуваат информациите за книгата и можност за додавање на книгата во омилени.

  1. Корисникот ја додава избраната книга во своите омилени. Системот го идентификува најавениот корисник и ја зачувува врската помеѓу корисникот и книгата во табелата project.omileni.

За додавање на книгата во омилени се користи следната SQL наредба:

INSERT INTO project.omileni
    (korisnik_id, kniga_id, datum_dodavanje)
VALUES (%s, %s, CURRENT_DATE)
ON CONFLICT (korisnik_id, kniga_id) DO NOTHING;

Со ON CONFLICT DO NOTHING се спречува повторно додавање на истата книга во омилените книги на истиот корисник.

  1. Корисникот ја отвора страницата „Омилени“. Системот ги презема омилените книги само за моментално најавениот корисник.

За прикажување на омилените книги се користи следната SQL наредба:

SELECT
    k.kniga_id,
    k.naslov,
    k.cena,
    k.opis,
    k.godina_izdavanje
FROM project.omileni o
JOIN project.knigi k
    ON o.kniga_id = k.kniga_id
WHERE o.korisnik_id = %s
ORDER BY o.datum_dodavanje DESC;
  1. Системот ја прикажува листата со омилените книги на корисникот.

  1. Корисникот може да избере „Отстрани од омилени“ за книга што повеќе не сака да биде зачувана во неговата листа.

За отстранување на книгата од омилени се користи следната SQL наредба:

DELETE FROM project.omileni
WHERE korisnik_id = %s
AND kniga_id = %s;
  1. По отстранувањето, системот повторно ја прикажува страницата „Омилени“, без отстранетата книга.

Last modified 6 days ago Last modified on 09/25/26 01:26:10

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.