Тестовое задание для web-программиста

Дано

  1. Произвольное количество пользователей. У каждого пользователя есть логин, пароль, Ф.И.О.
  2. Произвольное число групп. Каждая группа имеет название.
  3. Между пользователями существуют отношения субординации(подчинения)
  4. Каждый пользователь может входить в ноль или более групп
  5. Не допускается циклическая субординация(когда Вася начальник Пети, Петя начальник Ивана, а Иван начальник Васи)

Требуется

  1. Разработать и реализовать реляционную БД, используя СУБД MySQL
  2. Написать web-приложение, позволяющее управлять содержимым разработанной БД. Оно должно обеспечивать следующие возможности:
    1. вывод списка пользователей с обозначением начальника каждого из них, и групп, в которые он входит;
    2. добавление пользователей;
    3. установление между пользователями отношения субординации(с автоматической проверкой отсутствия циклической субординации);
    4. редактирование данных пользователя
    5. включение пользователя в произвольную существующую группу;
    6. исключение пользователя из любой групп, в которую он входит;
    7. удаление пользователя;
    8. вывод списка групп;
    9. изменение данных любой существующей группы;
    10. добавление новой группы;
    11. удаление любой существующей группы.

Результат работы

Результатом выполненного тестового задания являются:

  1. SQL-дамп БД с минимальным набором необходимых для проверки работоспособдости данных;
  2. php-скрипты, необходимые для работы приложения;
  3. файлы ресурсов(css, картинки и пр.);
  4. краткая инструкция по установке.

Дополнительные условия

  1. Язык написания приложения - php
  2. Среда работы приложения - web-сервер Apache (cgi, mod_php или fast-cgi не важно)
  3. Запрещается использование любых CRUD-фрэймворков или прочих ORM (Object-relational mapping) библиотек для отображения БД в объектах.
 
web_pog_test_task.txt · Последние изменения: 10:12 29.10.2009 root
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki