Changes between Version 9 and Version 10 of RelationalModel
- Timestamp:
- 04/21/26 23:40:31 (11 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
RelationalModel
v9 v10 6 6 == Опис 7 7 8 Основата на системот е ентитетот AppUser, кој ги претставува сите корисници во системот. Секој корисник може да има повеќе адреси (UserAddress), да објавува и купува производи (Product) и да комуницира со други корисници преку chat систем (Conversation и Message).8 Основата на системот е ентитетот **AppUser**, кој ги претставува сите корисници во системот. Секој корисник може да има повеќе адреси (**UserAddress**), да објавува и купува производи (Product) и да комуницира со други корисници преку chat систем (**Conversation** и **Message**). 9 9 10 Производите(Product) се организирани преку Category - која може да биде главна категорија или пак поткатерија(има parent category). Секоја категорија си има посебни атрибути кои се специфични само за неа и се чуваат во табела(CategoryAttributes). Во табелата Product се чуваат основните атрибути кои се заеднички за сите продукти, а атрибутите кои не се заеднички т.е. се специфични за соодветната категорија во која припаѓа продуктот се чуваат во посебна табела(ProductAttributes). За секој производ се чуваат и дополнителни информации како слики (ProductImages), статистики (ProductStats) и прегледи (ProductViews).10 Производите(Product) се организирани преку **Category** - која може да биде главна категорија или пак поткатерија(има parent category). Секоја категорија си има посебни атрибути кои се специфични само за неа и се чуваат во табела(**CategoryAttributes**). Во табелата **Product** се чуваат основните атрибути кои се заеднички за сите продукти, а атрибутите кои не се заеднички т.е. се специфични за соодветната категорија во која припаѓа продуктот се чуваат во посебна табела(**ProductAttributes**). За секој производ се чуваат и дополнителни информации како слики (**ProductImages**), статистики (**ProductStats**) и прегледи (**ProductViews**). 11 11 12 Секој корисник кој сака да стане продавач(seller) мора да се верифицира и да плати соодветен пакет. Табелата Package ги дефинира сите достапни пакети што платформата ги нуди. Секој пакет има јасно дефинирани карактеристики како цена, валута, времетраење и ниво на видливост (BASIC, STANDARD, PREMIUM). Табелата UserPackagesчува информации за тоа кој пакет е активен кај одреден продавач(или порано бил), како и временскиот период на неговата важност (start_date и end_date).12 Секој корисник кој сака да стане продавач(seller) мора да се верифицира и да плати соодветен пакет. Табелата **Package** ги дефинира сите достапни пакети што платформата ги нуди. Секој пакет има јасно дефинирани карактеристики како цена, валута, времетраење и ниво на видливост (BASIC, STANDARD, PREMIUM). Табелата **UserPackages** чува информации за тоа кој пакет е активен кај одреден продавач(или порано бил), како и временскиот период на неговата важност (start_date и end_date). 13 13 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** - табела која трајно ги чува сите продукти од секоја нарачка. 15 15 16 Плаќањата се чуваат во табелата Payments, но едно наше плаќање значи плаќање на сите продукти од цела кошничка наеднаш. Потребно е парите да се распределат на секој seller соодветно. Посебните трансакции кон секој seller се чуваат во табелата Transaction. Сите информации поврзани со плаќања исто така се чуваат трајно.16 Плаќањата се чуваат во табелата **Payments**, но едно наше плаќање значи плаќање на сите продукти од цела кошничка наеднаш. Потребно е парите да се распределат на секој seller соодветно. Посебните трансакции кон секој seller се чуваат во табелата **Transaction**. Сите информации поврзани со плаќања исто така се чуваат трајно. 17 17 Во Payments се чуваат и плаќањата на UserPackages. 18 18 19 Чуваме курири т.е. карга со кои соработуваме во табелата Carriers. Доставите на нарачки се чуваат во табелата Shipmentкоја чува информации за соодвното карго, соодветната нарачка и соодветната адреса UserAddress која корисникот ја одбрал за доставата.19 Чуваме курири т.е. карга со кои соработуваме во табелата **Carriers**. Доставите на нарачки се чуваат во табелата **Shipment** која чува информации за соодвното карго, соодветната нарачка и соодветната адреса UserAddress која корисникот ја одбрал за доставата. 20 20 21 21 22 Корисниците можат да оставаат review за продукт и продавач само после извршена нарачка за соодветниот продукт или било кој продукт од соодветниот продавач. Тие се чуваат во табелата Reviews. Табелата Badge ги дефинира сите можни награди/ознаки што може да ги добие еден корисник. Ги добива според reviews, време активно на апликацијата и број на продажби. Добиените награди се чуваат во табелата UserBadges.22 Корисниците можат да оставаат review за продукт и продавач само после извршена нарачка за соодветниот продукт или било кој продукт од соодветниот продавач. Тие се чуваат во табелата **Reviews**. Табелата **Badge** ги дефинира сите можни награди/ознаки што може да ги добие еден корисник. Ги добива според reviews, време активно на апликацијата и број на продажби. Добиените награди се чуваат во табелата **UserBadges**. 23 23 24 Табелата SavedSearches служи за зачувување на критериуми за пребарување дефинирани од корисникот со цел да добие извесување веднаш кога ќе се појави продукт според неговите барања. Преку табелата SavedSearchesAttributesсистемот поддржува и специфични филтри базирани на атрибути на категоријата (пр: боја, бренд, големина), што овозможува многу попрецизно пребарување.24 Табелата **SavedSearches** служи за зачувување на критериуми за пребарување дефинирани од корисникот со цел да добие извесување веднаш кога ќе се појави продукт според неговите барања. Преку табелата **SavedSearchesAttributes** системот поддржува и специфични филтри базирани на атрибути на категоријата (пр: боја, бренд, големина), што овозможува многу попрецизно пребарување. 25 25 26 Табелата Notificationsсе користи за испраќање автоматски известувања до корисниците. Овие известувања може да бидат поврзани со различни настани во системот, како:26 Табелата **Notifications** се користи за испраќање автоматски известувања до корисниците. Овие известувања може да бидат поврзани со различни настани во системот, како: 27 27 * појава на нов оглас што одговара на зачувано пребарување 28 28 * промени кај омилени (favorites) производи
