По договоренности
Необходимо разработать веб-приложение с использованием php+mysql+bootstrap+js (если нужно) для сортировки студентов на группы.
Суть приложения разбить X студентов на Y группы в случайном порядке, но с учетом их особенностей и с возможность сделать сортировку несколько раз, так что бы каждая сортировка максимально не повторяла прошлые (что бы каждый раз студент попадал в группу с другими студентами) . Внешний вид приложения обычный bootstrap, дизайн не важен.
Механика работы:
1) Вводим список студентов (до 100 человек), для каждого студента должна быть возможность указать характеристику (например через тэги) Характеристики обычные текстовое свойство, например "искусствовед", "учитель". При разбивки на группы важно что бы алгоритм учитывал что в каждой группе должно быть максимум представитель по каждой характеристике (т.е. что бы в каждой группе был учитель, искуствовед и тд, а не так что в одной одни учителя, в другой одни искусствоведы). Если характеристик всего две например пол (м/ж), то тогда следить что бы в каждой группе (по возможности) было равное кол-во м/ж
2) Вводим кол-во желаемых групп (на сколько делить студентов)
3) Получаем итоговый список в формате (группа 1 / список студентов, группа 2 / список студентов)
4) Выводим уникальный id данной разбивки, что бы в следующей раз была возможность либо начать все с начала с пункта 1, либо ввести данный id, и список студентов уже подгрузился сам, но и новая разбивка на группы была выполнена с учетом прошлых разбивок. В идеале предусмотреть возможность называть каждую разбивку текстовым именем (например январь, ферваль), и далее иметь возможность просмотреть по id прошлый разбивки. Всего разбивок одной и той же группы студентов может быть до 15 раз. Понятно что очень быстро студенты все равно начнут повторяться, но задача сделать это повторение минимальным.
Готов ответить на вопросы.