Готово е заданието за курсовата работа. Регистрираните потребители могат да го разгледат тук:
http://phplab.viscomp.bg/?type=page&action=load_custom_page&handle=kursova-rabota-1Крайният срок за предаване на проектите е 09.12.2010, а вписването на оценки ще става на 11.12.2010 г.
Допълнително ще определим как точно ще се ъплоудват архивите с проектите.
Ето и изискванията:
Да се състави система, която обслужва нуждите на електронна книжарница.
В системата следва да бъдат регистрирани следните типове обекти:
* Книга
* Рецензия
* Коментар (към рецензия или книга)
* Потребители
Характеристики на обект от тип Книга:
* Уникален идентификационен номер (УИН)
* (ISBN)
* Заглавие на книгата
* Име на автора
* Име на категория (жанр)
* Дата на създаване
* Дата на обновяване
Характеристики на обект от тип Рецензия:
* Уникален идентификационен номер
* ISBN на книгата за която е предназначена рецензията
* Съдържание на рецензията
* Име на автора (релация към УИН на потребителя, който е създал обекта)
* Дата на създаване
* Дата на обновяване
Характеристки на обект от тип Коментар:
* Уникален идентификационен номер
* Релация към УИН на обект, за който се отнася коментара. Може да бъде книга или рецензия. Респективно може да се използва за филтриране по тип на родителския обект.
* Съдържание на коментара
* Име на автора (релация към УИН на потребителя, който е създал обекта)
Характеристики на обект от тип Потребител:
* Уникален идентификационен номер
* Потребителско име
* Парола
* E-Mail адрес
В системата трябва да се реализират следните интерфейси:
* Визуализиране на данни за книги, изисвания към резултата
o Пореден номер
o ISBN
o Име на книга – връзка към интерфейс за преглед/редакция на подробни данни за книга
o Име на автор
o Име на жанр
o Общ брой рецензии за конкретна книга* (Бонус условие)
* Визуализиране на подробни данни за конкретна книга, изисквания към резултата
o Уникален идентификационен номер
o Име на книга – връзка към форма за редакция
o Име на автор
o Име на жанр
o Данни за потребител създал и последно редактирал обекта
o Списък от рецензии и/или коментари към книгата. УИН на рецензията/коментара е връзка към форма за преглед.
o Функционални бутони за изтриване на коментар/рецензия
* Визуализиране на данни за рецензия/коментар. Изисквания към резултата
o Уникален идентификационен номер – връзка към форма за редакция
o Име на автора
o Съдържание на рецензия/коментар
o Дата на създаване
o Данни (име на автора и време) за последна редакция
* Визуализиране на данни за потребител. Преглед на профил:
o Потребителско име – връзка към форма за редактиране на профил
o Парола
o E-mail адрес
* Филтър за търсене (към интерфейса за визуализиране на резултат – списък от книги).
o Критерии за търсене:
+ Име на книга
+ Име на автор
+ ISBN номер
+ Име на жанр
o Търсенето трябва да бъде реализирано, чрез използване на изключващи критерии (т.нар. логическа операция ИЛИ). Изборът на критерии може да бъде изпълнен по избор (чрез SELECT, radio бутони и т.н.).
Форма за вход в системата. Изисквания:
* Контроли за въвеждане на потребителско име и парола
* Извеждане на подходящи съобщения за грешки при въведени невалидни данни
* Опция „Запомни ме“, за запазване на логина* (Бонус условие)
* Опция за възстановяване на забравена парола. При използване на опцията следва да се генерира уникален URL адрес, който да води към форма за смяна на парола. Уникалния адрес е one-time accessible и не следва да е възможно използване повече от веднъж.* (Бонус условие)
В системата трябва да се изпълни опростен контрол на достъп както следва:
* За анонимни потребители:
o Могат да преглеждат списък с книги
o Могат да използват филтъра за търсене
o Могат да преглеждат подробни данни за книга
o Могат да преглеждат списък с рецензии/коментари
o Могат да използват форма за вход в системата
o Могат да използват опции „Запомни ме“ и „Възстановяване на забравена парола“* (Само ако са изпълнени бонус условията)
* За идентифицирани потребители:
o Наследяват всички привилегии на анонимен потребител
o Могат да създават обект от тип Книга
o Могат да редактират обекти от тип Книга, които са създали. Не могат да редактират обекти от тип Книга, на които не са създатели
o Могат да изтриват обекти от тип Книга, които са създали. Не могат да изтриват обекти от тип Книга, на които не са създатели
o Могат да създават обекти от тип Рецензия/Коментар за обект от тип Книга, без значение създателя на обекта от тип Книга
o Могат да редактират обекти от тип Рецензия/Коментар само ако са създатели на
o конкретния обект
o Могат да изтриват обекти от тип Рецензия/Коментар само ако са създатели на конкретния обект
o Могат да редактират данни за собствения си профил