wiki:AboutProject

Version 2 (modified by 231033, 11 days ago) ( diff )

--

Дефинирање на проектот

Проект по Напредни бази на податоци

Членови:

  • Теодор Димески - 231193 (координатор)
  • Дамјан Петров - 231011
  • Давид Манасков - 231033

Ментори:

  • проф. д-р Вангел Ајановски
  • проф. д-р Горан Велинов
  • асс. Милан Тодоровиќ

Краток опис на проектот

Овој проект претставува веб апликација за e-продавница за електронски уреди и компјутерски делови. Апликацијата им овозможува на корисниците да прелистуваат производи по категории, да пребаруваат артикли, да зачувуваат омилени производи и да креираат нарачки. Системот поддржува процес на купување со избор на адреса, начин на плаќање и следење на статусот на нарачката и испораката. По завршување на нарачката, корисниците можат да оставаат рецензии, да поднесуваат барања за враќање и да контактираат корисничка поддршка. Апликацијата содржи и административен дел преку кој се управува со производи, категории, попусти, залиха, нарачки, корисници и вработени. Ваквите функционалности се типични за современи e-commerce системи, кои опфаќаат каталог, кошничка, checkout, fulfillment, order tracking и административно управување.

Детален опис на проектот

Оваа база претставува детален релациски модел за електронска продавница за технологија, кој ги опфаќа главните делови што типично ги има еден e-commerce систем: каталог на производи, нарачки, плаќања, испорака, залиха, враќања и корисничка поддршка. Системот е наменет да го покрие целиот процес од внес на производ, преку купување, па сè до достава, рецензија и рекламација.

Системот има административен дел за вработени, улоги и дозволи. Табелите role, employee, employee_role, permissions и role_permision овозможуваат секој вработен да има една или повеќе улоги, а преку нив и одредени права за пристап во системот. Тоа значи дека продавницата може да разликува, на пример, администратор, магационер, оператор за нарачки или агент за корисничка поддршка. Во employee се чуваат основните податоци за вработениот, како име, презиме, email, лозинка, телефон, датум на креирање, статус дали е активен и плата. На тој начин системот не е само продавница за купувачи, туку и интерен деловен систем за менаџирање на персоналот.

Следниот голем модул е каталогот на производи. Во него спаѓаат supplier, category, product, product_attribute, product_supplier, price_history и promotion. Табелата category служи за групирање на производите по категории, што е особено важно во технолошка продавница каде може да има лаптопи, телефони, компоненти, монитори, периферија и слично. Product е централната табела за артиклите и содржи име, опис, цена, активен статус, категорија и производител. Product_attribute овозможува секој производ да има дополнителни карактеристики, како RAM, SSD, боја, процесор, големина на екран или друг технички опис. Product_supplier ја моделира врската меѓу производите и добавувачите, што значи дека еден производ може да биде набавуван од повеќе добавувачи, а еден добавувач може да снабдува повеќе производи. Price_history служи за следење на промените на цената низ време, а promotion овозможува попусти со процент и временски период на важење.

Во системот е добро обработен и магацинскиот дел. Табелите warehouse и serial_number покажуваат дека продавницата не чува само општа листа на производи, туку и физичка залиха по магацини. Warehouse содржи адресни информации за магацинот, односно град, број, улица, држава и ја чува достапноста на серискиот број во даден магацин. Serial_number дополнително укажува дека системот поддржува следење на индивидуални сериски броеви, што е многу корисно за технологија и електроника, каде секој уред може да има уникатен сериски број. Ова е особено важно за гаранција, сервис, враќања и прецизна евиденција на продадени уреди.

Корисничкиот дел е моделиран преку customer, address, address_customer, customer_attribute, wishlist и wishlist_items. Customer ги содржи основните податоци за купувачот: име, презиме, email, лозинка, телефон, датум на регистрација и активен статус. Address и address_customer овозможуваат еден корисник да има една или повеќе адреси, што е практично за достава на различни локации. Customer_attribute овозможува дополнителни информации за корисникот, односно системот е флексибилен и може да се проширува со нови атрибути без промена на главната табела. Wishlist и wishlist_items служат за листа на желби, односно купувачот може да зачува производи што моментално не ги купува, туку сака подоцна да ги следи или нарача. Листите на желби често се користат во e-commerce системи за повторно враќање на корисникот, следење интерес за производи и планирање на залиха.

Најважниот дел за самата продажба е модулот за нарачки. Тука спаѓаат shipping, order, installments и order_item. Табелата order ја претставува главната нарачка и содржи датум на нарачување, статус, датум на плаќање, вкупен износ, метод на плаќање, купувач и поврзана испорака. Shipping ги чува податоците за достава, како датум, статус, карго-компанија и tracking број. Order_item ги претставува ставките во рамки на една нарачка, односно точно кои производи се купени и во која количина. Installments покажува дека системот поддржува и купување на рати, што е многу реална функционалност за продавница за технологија, бидејќи поскапите уреди често се купуваат преку банка или кредитен модел. Во пракса, ваков модул е дел од стандардниот процес на checkout, плаќање, обработка на нарачка и испорака.

Системот не застанува само на продажба, туку го следи и постпродажниот процес. Review овозможува корисникот да остави оценка од 1 до 5 и коментар за конкретна ставка од нарачката, што значи дека рецензијата е врзана за реално купен производ. Returns служи за евиденција на враќања, со датум, причина, статус, одобрение и вработен што ја обработува рекламацијата. Customer_support_report овозможува следење на пријави, поплаки или проблеми што корисникот ги пријавил, како и дали проблемот е решен и кој вработен го обработувал. Ова покажува дека системот е дизајниран не само за продажба, туку и за целосна грижа за корисникот по купувањето, што е типична функција на системите за управување со нарачки и поддршка.

Од аспект на бизнис логика, моделот содржи и важни ограничувања за квалитет на податоците. Email полињата кај customer, employee и supplier се уникатни, што спречува дупликати. Има проверки како quantity > 0, rating од 1 до 5, процент на попуст од 0 до 100 и правило start_date <= end_date кај промоциите. Со created_at, default вредности и is_active полиња, системот поддржува следење на животниот циклус на корисници, вработени и производи.

Функционално гледано, целиот систем може да се опише вака: администраторите и вработените внесуваат категории, производи, добавувачи, цени, акции и залиха; купувачите се регистрираат, зачувуваат адреси и омилени производи; потоа прават нарачка, избираат начин на плаќање и добиваат испорака; по купувањето можат да остават рецензија, да побараат враќање или да поднесат пријава до поддршка. Значи, ова е комплетен информациски систем за електронска продавница за технологија со административен, продажен, логистички и сервисен дел.

Исто така, според самата структура, системот е добро прилагоден за продавница што продава технички производи, затоа што поддржува атрибути на производи, сериски броеви, следење на цена низ време, попусти, магацини и обработка на враќања. Тоа го прави посоодветен за електроника отколку за многу едноставна веб-продавница со мал број артикли.

Note: See TracWiki for help on using the wiki.