Тесты - расширение для Joomla
Задача состоит в написании расширения (component || module) для CMS Joomla (целевая версия 1.5).
Роли: Администратор, Пользователь, Аноним.
Базовые понятия
* Тест – последовательность вопросов с ответами. Тест имеет два текстовых описание: предисловие и послесловие. Всякий тест принадлежит к какой-либо категории, которые организованы в иерархическом порядке.
* Вопрос – это некоторый текст. Каждый вопрос имеет 1 и более ответов
* Каждый ответ представляет собой текст. С каждым ответом связано некоторое количество баллов.
* Категория имеет название и комментарий. В системе изначально присутствует категория «Прочее»
Варианты использования:
Администратор:
* Может редактировать дерево категорий (здесь и далее под редактированием подразумевается набор операций CUD: create, update, delete)
* Может редактировать содержимое категорий, т.е. тесты, и содержимое самих тестов (т.е. предисловие, послесловие, вопросы, ответы на вопросы)
* Администратор в контексте данного приложения не управляет пользователями. Это прерогатива CMS.
Пользователь:
* Может создать тест в одной из имеющихся категорий.
* Может редактировать собственные тесты.
* Может проходить тесты других пользователей.
Аноним:
* Может проходить тесты других пользователей.
Процесс создания теста
Создание теста состоит из следующих шагов:
Шаг 1.
* Название теста
* Описание теста
* Выбор категории для теста (если пользователь выбирает категорию «Прочее», то ему предлагается дополнительно ввести название категории в которую он хотел бы поместить свой тест)
Шаг 2.
* Написание предисловия
* Написание послесловия
Шаг 3.
* Создание вопроса – вводиться текст вопроса
* Создание вариантов ответа и присвоение баллов каждому из вариантов.
* Шаг 3 повторяется пока Пользователь не выбрал перейти к Шагу 4.
Шаг 4.
* Завершение создания теста.
Каждый шаг есть одна веб страница, для выполнения соответствующих действий пользуйтесь, например AJAX’ом или чем нравиться.
Процесс прохождения теста.
Аноним или пользователь выбирает в каталоге тест. Перед началом теста ему показывается предисловие к тексту. Далее он отвечает на вопросы. Он может выбрать только один вариант ответа. После ответа на все вопросы ему демонстрируется сумма баллов и послесловие к тесту.
Прочие требования.
* Документированность кода. Каждой функции и классу должно быть написан комментарий. В теле длинных методов они тоже должны присутствовать.
* Приоритеты в данном проекте это Стоимость и Качество, Сроки мене важны – учитывайте это при формировании своих предложений.
Оплата:
Глубоко убежден, что данный проект не стоит и $50.