Автоматизация функций администратора вебсайта https://opinionvox.com/  (бэкенд интерфейс) панели проведения публичных опросов. Вероятно хорошим вариантом будет использовать AngularJS UI Grid. 

Требуется реализация дополнительного интерфейса в админке вордпресс (плагин, с последующим расширением его функций).

Вводные данные (показаны лишь основные моменты для понимания смысла) о системе с которой предстоит работа:

  • Вебсайт клиента предназначен для проведения публичных опросов через интернет.  Желающие принять участие в опросе - регистрируются на вебсайте, указывают подробные данные о себе, получают письмо со ссылкой активации аккаунта. После активации аккаунта, указывают дополнительные данные профиля уже будучи залогиненными.
  • Профили зарегистрированных пользователей - это юзеры вордпресса + дополнительные поля с данными профиля (плагин Ultimate member https://wordpress.org/plugins/ultimate-member/).
  • Далее, администратор сайта создает форму опроса (плагин wpforms https://wpforms.com), публикует ее на сайте в виде страницы с паролем (вставка опроса на страницу осуществляется через шорткод wpforms). Каждый опрос имеет уникальный идентификатор + имя.
  • Далее, администратор осуществляет выборку по подходящих для опроса профилей (на основе введенных пользователями данных), создает группу с выборкой, отправляет ей почтовое сообщение (плагин mailster https://mailster.co/) c приглашением и ссылкой на опрос + паролем.
Подходящие пользователи переходят по ссылке и проходят опрос. По завершению опроса - им начисляются баллы, которые в дальнейшем можно монетизировать через магазин товаров на сайте.

Какие функции требуется реализовать:

  • Чтение данных о зарегистрированном пользователе вордпресс и различных его атрибутах (ориентировочно 20 полей для пользователя) из БД. 

    • Данные вордпресс + ultimate member - все поля профиля пользователя, которые вводятся при регистрации на сайте + 3 дополнительных поля вводимых позже (также данные ultimate member) https://docs.ultimatemember.com
  • Табличное отображение информации о пользовательских профилях с сортировкой

    • Выборка и фильтры по любому атрибуту каждой учетной записи + И  множественные условия (+ добавить условие. Пример: “страна: камбоджа И возраст 20-25 И доход 1000+)
    • Отображение колонки “профиль активен” (активирован через почту) и возможность фильтра по ней (например для очистки базы от неактивных)
    • Массовое удаление в соответствие с настройками фильтра
    • Создание групп учетных записей из различных выборок и их сохранение в интерфейсе (группы собираются для проведения опросов), экспорт групп в CSV
  • Операции над  созданными группами и заказчиками (заказчик - это компания заказывающая проведение опроса и оплачивающая его)

    • Просмотр истории опросов / заказчиков
    • Прикрепить Заказчика
    • Статус - идет опрос/опрос завершен. Отобразить - установить флаг.
    • Создать “список рассылки” в плаге mailster через API (https://kb.mailster.co/mailster-for-developers/) - передать данные из созданной группы.
    • Удалить группу (удаление группы НЕ ведет к удалению профилей в основной базе)
  • Заказчики

    • Создание списка, изменения - 1 строка описание заказчика и его задачи
    • Прикрепление проводимого опроса к заказчику (id опроса и имя + выбор из БД - плаг wpforms https://developers.wpforms.com/)
Необходимо протестировать работоспособность и скорость на искусственной базе общим объемом 20000 профилей со всеми полями. Разработчику будет предоставлена полная копия работающего сайта установленная на субдомене.

Данные, которые должна учитывать реализация задачи:

  • Таксономия групп
  • Таксономия заказчиков
Интерфейс:

Необходимо реализовать компактный и удобный интерфейс с минимумом страниц. В дальнейшем его функционал будет расширяться, чтобы ввести сюда все остальные процессы (создание опроса, страниц итд).

Список действий:

  • Работа с профилями (фильтры, выборки, создание групп, удаление итд)
  • Работа с уже существующей группой (просмотр всех групп, создание почтового списка, заказчики, удаление группы итд)
  • Работа с Заказчиками
Возможно сделать в виде табов или как-то иначе, чтобы было компактно и не запутано визуально.
6 лет назад
alexomega
51 год
6 лет в сервисе
Был
5 лет назад

Заявки фрилансеров

Нет заявок фрилансеров