Changes between Version 9 and Version 10 of RelationalModel


Ignore:
Timestamp:
04/21/26 23:40:31 (11 days ago)
Author:
231072
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalModel

    v9 v10  
    66== Опис
    77
    8 Основата на системот е ентитетот AppUser, кој ги претставува сите корисници во системот. Секој корисник може да има повеќе адреси (UserAddress), да објавува и купува производи (Product) и да комуницира со други корисници преку chat систем (Conversation и Message).
     8Основата на системот е ентитетот **AppUser**, кој ги претставува сите корисници во системот. Секој корисник може да има повеќе адреси (**UserAddress**), да објавува и купува производи (Product) и да комуницира со други корисници преку chat систем (**Conversation** и **Message**).
    99
    10 Производите(Product) се организирани преку Category - која може да биде главна категорија или пак поткатерија(има parent category). Секоја категорија си има посебни атрибути кои се специфични само за неа и се чуваат во табела(CategoryAttributes). Во табелата Product се чуваат основните атрибути кои се заеднички за сите продукти, а атрибутите кои не се заеднички т.е. се специфични за соодветната категорија во која припаѓа продуктот се чуваат во посебна табела(ProductAttributes). За секој производ се чуваат и дополнителни информации како слики (ProductImages), статистики (ProductStats) и прегледи (ProductViews).
     10Производите(Product) се организирани преку **Category** - која може да биде главна категорија или пак поткатерија(има parent category). Секоја категорија си има посебни атрибути кои се специфични само за неа и се чуваат во табела(**CategoryAttributes**). Во табелата **Product** се чуваат основните атрибути кои се заеднички за сите продукти, а атрибутите кои не се заеднички т.е. се специфични за соодветната категорија во која припаѓа продуктот се чуваат во посебна табела(**ProductAttributes**). За секој производ се чуваат и дополнителни информации како слики (**ProductImages**), статистики (**ProductStats**) и прегледи (**ProductViews**).
    1111
    12 Секој корисник кој сака да стане продавач(seller) мора да се верифицира и да плати соодветен пакет. Табелата Package ги дефинира сите достапни пакети што платформата ги нуди. Секој пакет има јасно дефинирани карактеристики како цена, валута, времетраење и ниво на видливост (BASIC, STANDARD, PREMIUM). Табелата UserPackages чува информации за тоа кој пакет е активен кај одреден продавач(или порано бил), како и временскиот период на неговата важност (start_date и end_date).
     12Секој корисник кој сака да стане продавач(seller) мора да се верифицира и да плати соодветен пакет. Табелата **Package** ги дефинира сите достапни пакети што платформата ги нуди. Секој пакет има јасно дефинирани карактеристики како цена, валута, времетраење и ниво на видливост (BASIC, STANDARD, PREMIUM). Табелата **UserPackages** чува информации за тоа кој пакет е активен кај одреден продавач(или порано бил), како и временскиот период на неговата важност (start_date и end_date).
    1313
    14 Корисникот може да додадава продукти во сопствена листа favorites кои се чуваат во табелата Favorites. Системот поддржува e-commerce функционалности преку додавање на производи кој сакаме да ги купиме во кошничка(табелата Cart) а соодветните продукти се чуваат во табелата CartItems. Кога корисникот ќе реши дека сака да ги купи производите ставени во cart, автоматски се креира нарачка(во табелата Order), a сите Cart Items од соодветната cart се префрлаат во OrderItems - табела која трајно ги чува сите продукти од секоја нарачка.
     14Корисникот може да додадава продукти во сопствена листа favorites кои се чуваат во табелата **Favorites**. Системот поддржува e-commerce функционалности преку додавање на производи кој сакаме да ги купиме во кошничка(табелата **Cart**) а соодветните продукти се чуваат во табелата **CartItems**. Кога корисникот ќе реши дека сака да ги купи производите ставени во cart, автоматски се креира нарачка(во табелата **Order**), a сите Cart Items од соодветната cart се префрлаат во **OrderItems** - табела која трајно ги чува сите продукти од секоја нарачка.
    1515
    16 Плаќањата се чуваат во табелата Payments, но едно наше плаќање значи плаќање на сите продукти од цела кошничка наеднаш. Потребно е парите да се распределат на секој seller соодветно. Посебните трансакции кон секој  seller се чуваат во табелата Transaction. Сите информации поврзани со плаќања исто така се чуваат трајно.
     16Плаќањата се чуваат во табелата **Payments**, но едно наше плаќање значи плаќање на сите продукти од цела кошничка наеднаш. Потребно е парите да се распределат на секој seller соодветно. Посебните трансакции кон секој  seller се чуваат во табелата **Transaction**. Сите информации поврзани со плаќања исто така се чуваат трајно.
    1717Во Payments се чуваат и плаќањата на UserPackages.
    1818
    19 Чуваме курири т.е. карга со кои соработуваме во табелата Carriers. Доставите на нарачки се чуваат во табелата Shipment која чува информации за соодвното карго, соодветната нарачка и соодветната адреса UserAddress која корисникот ја одбрал за доставата.
     19Чуваме курири т.е. карга со кои соработуваме во табелата **Carriers**. Доставите на нарачки се чуваат во табелата **Shipment** која чува информации за соодвното карго, соодветната нарачка и соодветната адреса UserAddress која корисникот ја одбрал за доставата.
    2020
    2121
    22 Корисниците можат да оставаат review за продукт и продавач само после извршена нарачка за соодветниот продукт или било кој продукт од соодветниот продавач. Тие се чуваат во табелата Reviews. Табелата Badge ги дефинира сите можни награди/ознаки што може да ги добие еден корисник. Ги добива според reviews, време активно на апликацијата и број на продажби. Добиените награди се чуваат во табелата UserBadges.
     22Корисниците можат да оставаат review за продукт и продавач само после извршена нарачка за соодветниот продукт или било кој продукт од соодветниот продавач. Тие се чуваат во табелата **Reviews**. Табелата **Badge** ги дефинира сите можни награди/ознаки што може да ги добие еден корисник. Ги добива според reviews, време активно на апликацијата и број на продажби. Добиените награди се чуваат во табелата **UserBadges**.
    2323
    24 Табелата SavedSearches служи за зачувување на критериуми за пребарување дефинирани од корисникот со цел да добие извесување веднаш кога ќе се појави продукт според неговите барања. Преку табелата SavedSearchesAttributes системот поддржува и специфични филтри базирани на атрибути на категоријата (пр: боја, бренд, големина), што овозможува многу попрецизно пребарување.
     24Табелата **SavedSearches** служи за зачувување на критериуми за пребарување дефинирани од корисникот со цел да добие извесување веднаш кога ќе се појави продукт според неговите барања. Преку табелата **SavedSearchesAttributes** системот поддржува и специфични филтри базирани на атрибути на категоријата (пр: боја, бренд, големина), што овозможува многу попрецизно пребарување.
    2525
    26 Табелата Notifications се користи за испраќање автоматски известувања до корисниците. Овие известувања може да бидат поврзани со различни настани во системот, како:
     26Табелата **Notifications** се користи за испраќање автоматски известувања до корисниците. Овие известувања може да бидат поврзани со различни настани во системот, како:
    2727* појава на нов оглас што одговара на зачувано пребарување
    2828* промени кај омилени (favorites) производи