Changes between Initial Version and Version 1 of AppDesign


Ignore:
Timestamp:
08/02/21 22:49:09 (3 years ago)
Author:
161029
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppDesign

    v1 v1  
     1
     2= Апликативен дизајн =
     3
     4== Кориснички сценарија
     5
     6=== Најава на корисник ===
     7
     8На централна позиција во горниот дел од прозорецот на апликацијата се наоѓа опцијата за Најава. Корисниците може да одберат да се најават во системот и да продолжат со користење на апликацијата. Важно да се напомене е дека најважните сценарија на апликацијата функционираат за сите видови на корисници (најавени или ненајавени). Доколку корисникот одлучи да се најави, за него ќе биде овозможен пристап до дополнителни сценарија излистани во секцијата Дополнителни Сценарија.
     9
     10//
     11
     12Базата на апликацијата не ги чува корисничките сметки со нивните лозинки за регистираните корисници. Оваа функционалност е овозможен со помош на менаџерот за корисници и автентикација Okta Developer.
     13
     14Пример екрани:
     15
     16//
     17[[Image(login.png)]]
     18
     19//
     20[[Image(login_2.png)]]
     21
     22
     23== Најважни сценарија ==
     24
     25=== Листа на продукти според категорија ===
     26Кога корисник ќе избере категорија на продукт (без разлика дали е најавен или ненајавен корисник) од менито со категории му се прикажува листа на продукти од соодветната категорија.
     27//
     28
     29Query:
     30
     31//
     32
     33{{{
     34#!python
     35
     36    SELECT * FROM product AS p
     37    WHERE p.category_id = "id"
     38}}}
     39//
     40
     41Пример екрани:
     42//
     43
     44[[Image(list_of_products.png)]]
     45
     46//
     47
     48[[Image(list_of_products_logged_in_user.png)]]
     49
     50
     51=== Пребарување на продукти според клучен збор ===
     52//
     53
     54Во горниот дел од прозорецот е овозможена Search функционалност со која корисникот може да пребарува продукти според клучен збор или целото име на продуктот кој го бара.
     55//
     56
     57Query:
     58
     59//
     60
     61{{{
     62#!python
     63
     64    SELECT * FROM product AS p
     65    WHERE p.name LIKE CONCAT('%', :name, '%')
     66}}}
     67//
     68
     69Пример екрани:
     70//
     71
     72[[Image(search_1.png)]]
     73//
     74
     75[[Image(search_2.png)]]
     76
     77=== Детални информации за продукт ===
     78
     79Со клик на името или сликата на продуктот апликацијата го навигира корисникот до страница со детални информации за избраниот продукт: името на продуктот, описот на продуктот, сликата на продуктот, цената. Доколку корисникот се одлучи да го нарача продуктот може да го додаде во својата купувачка кошничка.
     80//
     81
     82Query:
     83
     84//
     85
     86{{{
     87#!python
     88
     89    SELECT * FROM product AS p
     90    WHERE p.id = id
     91}}}
     92//
     93
     94Пример екрани:
     95//
     96
     97[[Image(product_details.png)]]
     98
     99=== Купувачка кошничка ===
     100
     101Со избор на "Add to cart" корисникот го додава посакуваниот продукт во неговата купувачка кошничка. Купувачката кошничка во горниот десен агол од екранот се ажурира доколку корисникот додаде уште производи во неа. Доколку корисникот сака да провери кои продукти ги сместил во кошничката со клик на симболот за кошничка во горниот десен агол аплкацијата го навигира корисникот кон страница со детали за кошничката.
     102//
     103
     104Кошничката има full CRUD support, што значи, корисникот може да ja зголеми или да ја намали количината на парчиња за одреден продукт или пак доколку се предомисли да го отстрани од кошничката. Ако корисникот ја менува количината на продуктите во кошничката, симболот за кошничка во горниот десен агол се ажурира. Соодветно, се ажурира и секцијата во којашто има информации за Total Quantity и Total Price.
     105//
     106
     107Откако корисникот прави инспекција дали во кошничката ги има посакуваните производи и коректната количина од нив, може да продолжи кон следниот чекор во правење на нарачката со клик на копчето Purchase.
     108
     109
     110//
     111
     112Пример екрани:
     113//
     114
     115[[Image(add_to_cart.png)]]
     116//
     117
     118[[Image(add_to_cart_quantity.png)]]
     119//
     120
     121[[Image(add_to_cart_checkout.png)]]
     122
     123//
     124
     125Доколку купувачката кошничка е празна, соодветно на екранот пишува дека е празна.
     126
     127[[Image(shopping_cart_empty.png)]]
     128
     129=== Пласирање на нарачка ===
     130
     131Откако корисникот одлучил да ги нарача продуктите од кошничката, го дели еден чекор до пласирање на нарачката. За таа цел корисникот задолжително мора да ги внесе своите лични податоци како име, презиме и електронска сметка; адреса за испорака со улица, град, држава и поштенски код, како и податоците за платежната картичка. Освен тоа што полињата за правење на нарачка се задолжителни, корисникот мора да ги внесе во правилниот формат, пример мора да биде запазен форматот за валидна електронска сметка.
     132
     133//
     134Пример екрани:
     135//
     136
     137[[Image(order_1.png)]]
     138//
     139
     140[[Image(order_2.png)]]
     141//
     142
     143[[Image(order_3.png)]]
     144//
     145
     146[[Image(order_4.png)]]
     147
     148//
     149[[Image(checkout_1.png)]]
     150
     151//
     152
     153
     154Queries:
     155//
     156
     157{{{
     158#!python
     159
     160      INSERT INTO customer (id, first_name, last_name, email) VALUES (7, 'Bisera', 'Peshevska', 'pesevskab1997@gmail.com');
     161     
     162}}}
     163//
     164
     165//
     166
     167{{{
     168#!python
     169
     170
     171      INSERT INTO address (id, street, city, country, zip_code) VALUES (16, 'Floris Burgwal', 'Rotterdam', 'Netherlands', '7233');
     172
     173      INSERT INTO address (id, street, city, country, zip_code) VALUES (17, 'Egejska Makedonija', 'Kumanovo', 'Macedonia', '1300');
     174     
     175}}}
     176
     177//
     178
     179{{{
     180#!python
     181
     182      INSERT INTO orders(id, order_tracking_number, total_price, total_quantity, date_created, last_updated, customer_id, billing_address_id, shipping_address_id) VALUES (8, 'e769b2d6-8d7a-4574-8c39-45f0ced7a374', 82.4, 3, 2021-08-02 22:26:17, 2021-08-02 22:26:17, 7, 16, 17);
     183
     184     
     185}}}
     186//
     187
     188{{{
     189#!python
     190
     191      INSERT INTO order_item(o_id, order_id, image_url, quantity, unit_price, product_id) VALUES (13, 8, 'assets/images/products/vitamins/VITAMINS-1002.png', 2, 29.9, 3);
     192
     193      INSERT INTO order_item(o_id, order_id, image_url, quantity, unit_price, product_id) VALUES (14, 8, 'assets/images/products/vitamins/VITAMINS-1010.png', 1, 22.6, 11);
     194
     195     
     196}}}
     197//
     198//
     199
     200
     201Во долниот дел на прозорецот корисникот може уште еднаш да ги прегледа деталите за нарачката и доколку е се во ред, со клик на копчето Purchase ја пласира нарачката во системот
     202
     203Пример екрани:
     204//
     205
     206[[Image(checkout_2.png)]]
     207//
     208
     209[[Image(checkout_3.png)]]
     210//
     211
     212== Дополнителни сценарија ==
     213
     214=== Историја на нарачки ===
     215
     216Доколку корисникот пласира нарачка во системот додека е најавен со корисничка сметка и истата ја внесе во полето email додека ја прави нарачката, тогаш корисникот може да одбере да види историја на своите нарачки направени со таа email адреса со клик на Orders, така што за секоја нарачка во системот направена додека е логиран може да ја види нејзината единствена шифра, вкупна цена и датум кога е креирана.
     217
     218//
     219
     220Query:
     221
     222//
     223
     224{{{
     225#!python
     226
     227      SELECT * FROM order
     228      LEFT JOIN customer
     229      ON orders.customerId = customer.id
     230      WHERE customer.email = "email"
     231}}}
     232//
     233
     234
     235Пример екран:
     236
     237//
     238
     239[[Image(order_history.png)]]
     240
     241=== Специјален екран за најавени корисници ===
     242
     243За најавени корисници апликацијата овозможува пристап до секцијата Members каде во иднина може да се креира содржина наменета специјално за најавени корисници.
     244//
     245
     246Пример екран:
     247
     248//
     249[[Image(member.png)]]