Zakres zadania:
1. Obsługa płatności punktami. Każda kategoria produktów ma określony %/wartość punktową jakiej można użyć do uzupełnienia płatności standardowej.
2. Obsługa kursu punkty-waluta dla każdej kategorii produktów.
3. System zbierania punktów. Definiowanie naliczania punktów w każdej kategorii produktowej. Zliczanie punktów dla konta w BakeSale. (helper w CakePHP)
4. Promocje. Możliwość definiowania liczby punktów naliczanych dla wybranego produktu.
Opis szczegółowy:
1. Obsługa płatności punktami.
a. Każda kategoria produktów ma określony %/wartość punktową jakiej można użyć do uzupełnienia płatności standardowej.
b. Opcja: zapłać punktami dostępna przy checkoucie.
2. Obsługa kursu punkty-waluta
a. W administracji ustalany jest kurs dla każdej kategorii produktów.
b. Kurs jest używany w checkoucie do obliczenia obniżki w cenie. Obniżka w cenie nie może przekroczyć wartości z punktu 1.a
3. System zbierania punktów.
a. Definiowanie naliczania punktów w każdej kategorii produktowej. Punkty mogą być naliczane procentowo od wartości lub konkretna ilość za zakup jednej sztuki towaru.
b. Zliczanie punktów dla konta w BakeSale. (helper w CakePHP). Wyświetlanie punktów na liście produktów i w prezentacji produktu. Naliczenie punktów po zrealizowaniu płatności.
4. Promocje.
a. Możliwość definiowania liczby punktów naliczanych dla wybranego produktu. Podobnie jak definicje z punktu 3 tylko dla określonych produktów. Promocja jest ważniejsza niż wartość dla danej kategorii.
Wymagania niefunkcjonalne:
1. Aplikacja ma być napisana w Frameworku CakePHP (Stable 1.1).
2. Aplikacja ma być modyfikacją BakeSale (0.9.5)
3. Baza danych MySQL 5. Uwaga na nomenklaturę tabel i pól w bazie – wymagana zgodność z definicją CakePHP (możliwość wygenerowania kodu za pomocą skryptu [login to view URL] !!!)
Wymagania organizacyjne:
1. Każda zmiana, metoda, klasa, widok, kontroler, model, obiekt w bazie danych – musi zostać udokumentowana w kodzie zgodnie z ogólnie przyjętymi standardami
a. Dla kodu PHP - phpDoc
b. Dla SQL: opisy dla wszystkich tabel i kolumn
2. Do aplikacji ma być dołączona dokumentacja wszystkich zmodyfikowanych fragmentów kodu BakeSale w phpDocumentatorze.
Procedura realizacji:
1. Aplikacja - prototyp (tylko niejasne funkcjonalności)
2. Konsultacje
3. Umowa o dzieło (lub inna w przypadku firmy).
4. Wykonanie kompletnej aplikacji
5. Testy na serwerze dostawcy
6. Przekazanie kodu i dokumentacji
7. Testy i weryfikacja u odbiorcy
8. Płatność