Тестовое задание для 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) библиотек для отображения БД в объектах.

 


Добавить комментарий