Wydział Elektryczny
Instytut Automatyki i Inżynierii Informatycznej
System zarządzania katalogiem produktów sklepu modelarskiego
Projekt realizowany w ramach zajęć z przedmiotu:
Programowanie w Sieci WWW
Prowadzący zajęcia:
mgr Michał Apolinarski
Informatyka, specjalizacja Bezpieczeństwo Systemów Informatycznych
Semestr VII, rok akademicki: 2011/2012
Kamil Cieśla 88344
Andrzej Dubiel 88347
Spis Treści
Harmonogram prac projektowych 3
System zarządzania katalogiem produktów 4
Diagram aktywności – Składanie zamówienia 6
Diagram sekwencji – Składanie zamówienia 7
Głównym założeniem projektowym jest opracowanie koncepcji aplikacji, projekt graficzny aplikacji (interfejsu), projekt bazy danych, (na wyższą ocenę – implementacja), dokumentacja techniczna i użytkowa.
System ma obsługiwać sklep internetowy z modelami zdalnie sterowanymi. Koncepcja systemu będzie zawierać m. in.: diagramy UML (przypadków użycia, klas, aktywności), projekt bazy danych (model EER, relacyjny, skrypt tworzący bazę danych), projekt interfejsu (front-end oraz back-end) itp.
Diagramy UML oraz projekt bazy danych zostaną stworzone na podstawie wymagań funkcjonalnych i pozafunkcjonalnych.
14.10 – Ustalenie tematu, omówienie założeń projektowych, określenie funkcjonalności.
28.10 – Koncepcja systemu – diagramy UML (przypadki użycia), projekt bazy danych (model EER).
25.11 – Diagramy UML (klas, aktywności), projekt bazy danych (relacyjny, skrypt tworzący bazę).
9.12 – Projekt interfejsu (front-end i back-end).
6.01 – Implementacja oraz testowanie.
20.01 – Oddanie projektu.
zarządanie produktami (dodawanie, usuwanie, edycja),
rejestrowanie i logowanie użytkowników,
koszyk na zakupy,
składanie zamówień,
obsługa wielojęzyczności,
prezentowanie oferty (wraz z sortowaniem według wybranego pola),
kategoryzacja produktów,
wyszukiwanie produktów (proste – po nazwie, zaawansowane – po wielu polach produktu: data utworzenia, cena, nazwa, waga, model zbudowany/do samodzielnego złożenia, szacunkowy czas „zabawy” na jednym naładowaniu baterii, części do modeli),
dodawanie wideo-prezentacji produktu (wewnątrz opisu produktu),
ocenianie i komentowanie produktu przez użytkowników,
moderowanie komentarzy użytkowników,
lista polecanych i lista popularnych produktów,
zarządzanie kolorystyką elementów layoutu,
newsletter,
integracja z serwisami społecznościowymi (facebook, twitter, Google+) – udostępnianie/polecanie produktów przez użytkowników,
przeliczanie waluty.
strona sklepu zgodna ze standardem W3C,
jednoczesna obsługa wielu użytkowników (do 1000),
wykorzystanie bazy danych MySQL wersja 5.5,
serwera Apache wersja 2.2,
język PHP w wersji 5.3,
user friendly (wykorzystanie AJAX),
bezpieczne składowanie haseł, skrót SHA1,
bezpieczeństwo danych sklepu, okresowy backup (co 1 dzień),
różne systemy płatności bezgotówkowych (paypal, platnosci.pl, przelew bankowy),
dokumentacja nietechniczna (instrukcja obsługi) i techniczna.
front-end:
prezentacja pełnej oferty z uwzględnieniem: kategoryzacji produktów, zmiany sposobów prezentacji oferty,
wielojęzyczność (2-3 języki),
wyszukiwanie produktów (proste i zaawansowane),
możliwość składania zapytań ofertowych – funkcjonalność „koszyka”,
prezentacja podobnych (powiązanych) produktów na stronie konkretnego produktu,
prezentacja w osobnym bloku (pasek boczny) produktów polecanych i popularnych,
informowanie o dostępności produktu (liczba sztuk w magazynie),
możliwość komentowania i oceniania produktów,
wideo-prezentacja produktu (opcja, nie każdy produkt),
back-end:
pełne zarządzanie ofertą, tworzenie kategorii i produktów,
zarządzanie wideo-prezentacjami,
zarządzanie zapytaniami ofertowymi,
zarządzanie repozytorium plików,
zarządzanie podstawowymi elementami layout’u (tło strony, rodzaj czcionki, szerokość bloku głównego oraz pasków bocznych, kolor: przycisków, czcionki, elementów menu, tła bloków),
moderowanie komentarzy,
zarządzanie recenzjami produktów,
Baza danych przewiduje podział produktów na zestawy modelarskie (całe gotowe do użytku lub zestaw do własnego złożenia – DIY, ang. Do It Yourself) i części (do własnych konstrukcji, zamienne/zapasowe). Z założenia baza przechowuje informacje w trzech zadeklarowanych na stałe językach (polski, angielski i francuski).
Każdy produkt należy do jakiejś kategorii, kategorie mogą być zagnieżdżone (wykorzystanie parent_id), np. modele latające > modele śmigłowe > helikoptery.
Zamówienia może składać zarówno zarejestrowany użytkownik jak i niezarejestrowany po podaniu potrzebnych danych do wysyłki. „Koszyk” użytkownika niezalogowanego jest przetrzymywana w pamięci cache przeglądarki, natomiast użytkownik zalogowany może zapisać swój koszyk w bazie danych i odtworzyć go w dowolnym momencie.