Обновленная версия ТЗ:
Техническое задание для разработки модуля для вебсайта на WordPress
Суть задачи:
Автоматизация функций администратора вебсайта https://opinionvox.com/ (бэкенд интерфейс) панели проведения публичных опросов.
Требуется реализация дополнительного интерфейса в админке вордпресс (плагин, с последующим расширением его функций).
Вводные данные (сжато, показаны лишь основные моменты, имеющие отношение к делу) о системе с которой предстоит работа:
Вебсайт клиента предназначен для проведения публичных опросов через интернет.
Желающие принять участие в опросе - регистрируются на вебсайте, указывают подробные данные о себе, получают письмо со ссылкой активации аккаунта. После активации аккаунта, указывают дополнительные данные профиля уже будучи залогиненными.
Профили зарегистрированных пользователей - это юзеры вордпресса + дополнительные поля с данными профиля (плагин Ultimate member https://wordpress.org/plugins/ultimate-member/).
Далее, администратор сайта создает форму опроса (плагин wpforms https://wpforms.com), публикует ее на сайте в виде страницы с паролем (вставка опроса на страницу осуществляется через шорткод wpforms). Каждый опрос имеет уникальный идентификатор + имя.
Далее, администратор осуществляет выборку по подходящих для опроса профилей (на основе введенных пользователями данных), создает группу с выборкой, отправляет ей почтовое сообщение (плагин mailster https://mailster.co/) c приглашением и ссылкой на опрос + паролем.
Подходящие пользователи переходят по ссылке и проходят опрос. По завершению опроса - им начисляются баллы, которые в дальнейшем можно монетизировать через магазин товаров на сайте.
Какие функции требуется реализовать:
Чтение данных о зарегистрированном пользователе вордпресс и различных его атрибутах (ориентировочно 20 полей для пользователя) из БД.
Табличное отображение информации о пользовательских профилях с сортировкой
Выборка и фильтры по любому атрибуту каждой учетной записи + И множественные условия (+ добавить условие. Пример: “страна: камбоджа И возраст 20-25 И доход 1000+)
Отображение колонки “профиль активен” (активирован через почту) и возможность фильтра по ней (например для очистки базы от неактивных)
Массовое удаление в соответствие с настройками фильтра
Создание групп учетных записей из различных выборок и их сохранение в интерфейсе (группы собираются для проведения опросов), экспорт групп в CSV
Операции над созданными группами
Просмотр истории опросов / заказчиков
Прикрепить Заказчика
Статус - идет опрос/опрос завершен. Отобразить - установить флаг.
Создать группу для почтовой рассылки в плаге mailster через API (https://kb.mailster.co/mailster-for-developers/)
Удалить группу (удаление группы НЕ ведет к удалению профилей в основной базе)
Заказчики
Создание списка, изменения - 1 строка описание заказчика и его задачи
Прикрепление проводимого опроса к заказчику (id опроса и имя + выбор из БД - плаг wpforms https://developers.wpforms.com/)
Необходимо протестировать работоспособность и скорость на искусственной базе общим объемом 100000 профилей со всеми полями. Разработчику будет предоставлена полная копия работающего сайта установленная на субдомене.
Интерфейс:
Необходимо реализовать компактный и удобный интерфейс с минимумом страниц. В дальнейшем его функционал будет расширяться, чтобы ввести сюда все остальные процессы (создание опроса, страниц итд).
Список действий:
Работа с профилями (фильтры, выборки, создание групп, удаление итд)
Работа с уже существующей группой (просмотр всех групп, создание почтового списка, заказчики, удаление группы итд)
Работа с Заказчиками
Возможно сделать в виде табов или как-то иначе, чтобы было компактно и не запутано визуально.