Разработка информационной системы для управления комиссионным магазином с расширенной подсистемой клиентских уведомлений через социальные сети

Анализ каналов интернет-маркетинга для взаимодействия бизнеса с клиентами. Реализация базы данных и запросов к ней, Проектирование интерфейса, функций и компонентов системы. Анализ существующих решений для рассылок в социальных сетях и мессенджерах.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.12.2019
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

varchar(100)

c_info

ID страницы клиента в социальной сети ВКонтакте (используется для отправки сообщений через VK API)

varchar(1000)

Таблица children (хранит информацию о детях, заполняется менеджером через форму)

name

имя ребенка

varchar(100)

gender

пол ребенка. принимает значения 1 (мальчик) и 2 (девочка)

int(2)

age

возраст ребенка (в годах)

int(11)

tall

рост ребенка (в сантиметрах)

int(11)

last_update

дата последнего обновления информации о ребенке

date

parent

родитель ребенка. реализует связь «один ко многим» с таблицей clients

int(11)

Таблица message (хранит информацию об отправленных сообщениях, заполняется системно)

tempate

шаблон сообщения. реализует связь «один ко многим» с таблицей template

int(11)

product

товар, о котором отправлялось сообщение. реализует связь «один ко многим» с таблицей products

int(11)

date

дата отправки сообщения

date

text

текст сообщения

varchar(1000)

Таблица client_message (реализует связь «многие-ко-многим» между таблицами clients и message, заполняется системно)

client

клиент, которому отправлено сообщение. реализует связь «один ко многим» с таблицей clients

int(11)

message

сообщение, которое отправлено клиенту. реализует связь «один ко многим» с таблицей message

int(11)

Таблица products (хранит информацию о товарах, по которым проводилась рассылка, заполняется системно)

name

наименование товара

varchar(100)

addr

ID товара в социальной сети ВКонтакте (является уникальным полем)

varchar(255)

4.2 Реализация интерфейса системы

Реализованная информационная система имеет 6 интерфейсных окон: окно входа в систему, окно для работы с клиентами, окно для работы с детьми, окно для работы с шаблонами, окно для отправки рассылки и окно для формирования отчетов. Рассмотрим подробнее элементы каждого из них.

Интерфейс системы реализован с помощью языка разметки HTML и таблиц стилей CSS. Программные методы, реализованные с помощью JavaScript и PHP, представлены в следующем разделе.

Работа с системой начинается с главного окна, представленного на рисунке 4.2. На нем 5 кнопок, которые ведут на соответствующие страницы.

Рисунок 4.2 Окно начала работы с системой

При нажатии на кнопку «Информация о клиентах» открывается окно для работы с клиентами (рис. 4.3), где сразу выведен список клиентов, информация о которых хранится в базе данных.

Рисунок 4.3 Окно для работы с клиентами

Для добавления информации о новом клиенте, необходимо нажать на кнопку «Добавить нового клиента», после чего ниже открывается соответствующая форма. Форма состоит из полей для ввода, соответствующих структуре базы данных (см. рис. 4.1).

Та же самая форма открывается при нажатии на любой элемент списка (любого клиента). Однако в этом случае форма автоматически заполняется данными клиента (см. рис. 4.4), который был выбран, для того чтобы менеджеру была удобно изменять данную информацию. Внизу формы находятся кнопки «Сохранить» (для сохранения изменений в базе данных) и «Удалить» (для удаления выбранного клиента из базы данных).

В самом низу формы находится кнопка «На главную», которая позволяет вернуться в стартовое окно системы.

Рисунок 4.4 Окно для изменения данных о клиентах

При нажатии на кнопку «Информация о детях» открывается окно для работы с детьми, аналогичное представленному выше окну для работы с клиентами (см. рис. 4.3).

Для добавления информации о новом ребенке, необходимо нажать на кнопку «Добавить нового ребенка», после чего ниже открывается соответствующая форма.

Та же самая форма открывается при нажатии на любой элемент списка (любого ребенка). Однако в этом случае форма автоматически заполняется данными ребенка (см. рис. 4.5), который был выбран, для того чтобы менеджеру была удобно изменять данную информацию.

Для удобства менеджера поле для внесения информации о родителе ребенка реализовано в виде выпадающего списка, в который автоматически подставляются данные из таблицы Clients в соответствии со структурой базы данных (см. рис. 4.1).

Внизу формы находятся кнопки «Сохранить» (для сохранения изменений в базе данных) и «Удалить» (для удаления выбранного ребенка из базы данных).

В самом низу формы находится кнопка «На главную», которая позволяет вернуться в стартовое окно системы.

Рисунок 4.5 Окно для изменения данных о детях

При нажатии на кнопку «Шаблоны» открывается окно для работы с шаблонами (см. рис. 4.6), где сразу выведен список шаблонов, которые уже созданы в системе и которые при необходимо можно изменить или удалить.

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

Основным контрольным элементом для создания шаблонов сообщений рассылок является шаблонизатор. В рамках шаблонизатора задан специальный набор параметров для вставки, которые менеджер может использовать для формирования шаблона. Полный список параметров приведен в следующем разделе, однако некоторые из них можно увидеть на скриншоте интерфейса системы (см. рис. 4.6).

Параметр {Название товара} используется для того, чтобы в процессе рассылки динамически подставлять в сообщение название товара, по которому производится рассылка.

Параметр {Ссылка на товар} может быть включен менеджером в шаблон для того, чтобы в процессе рассылки в текст сообщения вставлялась ссылка на товар, о котором идет речь в сообщении. Данная функция потенциально увеличивает конверсию в продажи, так как в этом случае получателю рассылки достаточно перейти по ссылке в письме, чтобы узнать подробности о товаре, вместо того, чтобы заходить на бизнес-страницу магазина и искать заинтересовавший его товар там.

Рисунок 4.6 Окно для работы с шаблонами

При нажатии на кнопку «Рассылка» открывается окно со списком товаров, по которым сейчас можно провести рассылку (см. рис. 4.7).

Для удобства менеджера магазина, который работает с системой, помимо текстовой информации о товаре выводится также его фотография. Это делается с помощью методов VK API группы Market и подробно описано в следующем разделе.

Также выводится информация о том, проводилась ли по каждому из товаров рассылка. Если рассылка проводилась, выводится также информация о дате последнего отправленного сообщения о данном товаре.

Рисунок 4.7 Окно для проведения рассылки

Для инициализации процесса рассылки необходимо нажать на товар, по которому предполагается проводить рассылку. После этого система запрашивает подтверждение (рис. 4.8).

Рисунок 4.8 Подтверждение рассылки

В случае, если инициализация рассылки подтверждена, запускается парсинг характеристик выбранного товара с соответствующей страницы в сообществе магазина ВКонтакте (vk.com/kiddly). Пример представлен на рисунке ниже (см. рис. 4.9).

Рисунок 4.9. Страница товара в сообществе ВКонтакте (vk.com/kiddly)

Далее, если найдены совпадения характеристик с соответствующими полями в базе данных, производится отправка сообщений адресатам. Пример такого сообщения приведен ниже (рис. 4.10).

Рисунок 4.10. Сообщение рассылки

При нажатии на кнопку «Отчеты» открывается окно для формирования отчетов. Данный интерфейс предоставляет менеджеру магазина опции для выбора данных для формирования отчета, а также периода, за который необходимо сформировать отчет.

После выбора исходных данных и периода менеджеру магазина необходимо нажать на кнопку Сформировать, после чего система отобразит запрошенный отчет (рис. 4.11).

Рисунок 4.11 Окно для формирования отчетов

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

4.3 Описание основных функций и компонентов системы

Для реализации информационной системы использованы языки программирования PHP и JavaScript, язык разметки HTML, таблицы стилей CSS, а также система управления базами данных MySQL. Система реализована как веб-приложение, которое открывается через локальный веб-сервер MAMP. В дальнейшем локальный сервер будет заменен на сторонний хостинг.

Разработанная система делится на два функциональных компонента:

· основные функции информационной системы;

· подсистема клиентских уведомлений через ВКонтакте.

Реализация данных компонентов системы подробно рассмотрена в данном разделе.

4.3.1 Реализация основных функций информационной системы магазина

Как было упомянуто в предыдущем разделе, база данных содержит 6 таблиц, при этом только 3 из них изменяются менеджером комиссионного магазина. Это таблицы clients (клиенты), children (дети) и template (шаблоны сообщений). Для данных таблиц реализованы функции CRUD - создания, чтения, изменения и удаления данных.

Чтение из базы данных производится через PHP функцию (рис. 4.12), которая вызывается через Ajax при открытии html-страницы, например children.html для того, чтобы страница не перезагружалась полностью, так как это удобнее для конечного пользователя. Чтение производится в элементы (<li>) списка (<ul>) (рис. 4.13).

Рисунок 4.12. Запрос на чтение данных из БД с помощью PHP

Рисунок 4.13. Вывод данных из БД на HTML-страницу

Добавление данных в таблицы производится по кнопке, которая открывает форму (<form>) с полями, соответствующими полям таблицы в базе данных. После заполнения формы и нажатия на кнопку OK, на данной кнопке срабатывает JS-событие (рис. 4.14), которое вызывает PHP-функцию: данные формы сериализуются и отправляются на сервер, где с помощью SQL запроса (рис. 4.15) записываются в базу данных.

Рисунок 4.14. Вызов PHP-функции по нажатию на кнопку ОК

Рисунок 4.15. Запрос на добавление данных в БД с помощью PHP

Редактирование данных в таблицах производится по клику на элемент таблицы, который отображается на экране (см. рис. 4.16). По клику открывается форма, которая заполняется данными выбранного элемента. Эти данные можно либо отредактировать и нажать на кнопку ОК, что вызовет обработчик JS-события (см. рис. 4.14), что в свою очередь вызовет PHP-функцию (рис. 4.17), после чего данные формы сериализуются и отправятся на сервер, где с помощью SQL-запроса запишутся в базу данных (изменят выбранную запись), либо удалить, нажав на кнопку Delete. При удалении на кнопке Delete сработает обработчик JS-события, аналогичный обработчику клика по кнопке ОК (см. рис. 4.14), который вызовет PHP-функцию для удаления выбранной записи из таблицы (рис. 4.18).

Рисунок 4.16. Обработчик JS-события клика на элемент списка

Рисунок 4.17. Запрос на изменение данных в БД с помощью PHP

Рисунок 4.18. Запрос на удаление данных из БД с помощью PHP

Структура HTML-страницы, на которой отображается список с данными из таблицы, а также в случае необходимости форма для добавления или изменения данных представлена на рисунке 4.19. Для примера взята страница для работы с таблицей children, в которой хранится информация о детях.

Рисунок 4.19. Структура страницы children.html

Работа с шаблонами реализована аналогично работе с клиентами и детьми, за исключением шаблонизатором. Шаблонизатор представляет собой набор прописанных параметров, которые может использовать менеджер магазина для того, чтобы при рассылке в шаблон могли динамически подставляться различные данные. В данной версии системы реализован следующий набор шаблонов:

· {Название товара} - динамическая вставка названия товара, которое парсится со страницы ВКонтакте (подробнее это описано в следующем разделе).

· {Ссылка на товар} - динамическая вставка ссылки на товар.

· {Цена товара} - динамическая вставка цены товара, которая парсится со страницы ВКонтакте (подробнее это описано в следующем разделе).

В следующих версиях данный список планируется расширить.

4.3.2 Реализация расширенной подсистемы клиентских уведомлений через социальную сеть ВКонтакте с использованием VK API

Как было отмечено в предыдущей главе, для реализации подсистемы клиентских уведомлений используется открытый программный интерфейс социальной сети ВКонтакте (VK API). Данный интерфейс позволяет считывать информацию о выбранном товаре и в дальнейшем отправлять сообщения о данном товаре тем пользователям, которым он может быть потенциально интересен. Подробнее данный бизнес-процесс комиссионного магазина описан в предыдущей главе (см. рис. 3.1.). Программная реализация данного бизнес-процесса описана ниже.

Для работы с методами VK API market и messages необходим токен. Для работы с методами группами market используется личный токен, для работы с методами группы messages - токен сообщества (vk.com/kiddly), от имени которого отправляются сообщения рассылки.

Получение личного токена происходит с помощью обращения к специальному адресу ВКонтакте через PHP с передачей специальных параметров (рис. 4.20). Получение токена сообщества доступно в веб-интерфейсе социальной сети и не требует программного вызова. Токены получаются единовременно и в дальнейшем просто используются в функциях, при работе за одним и тем же устройством переопределять их нет необходимости (переопределение запрашивается только при смене IP адреса).

Рисунок 4.20 Получение личного токена для работы с VK API

Для проведения рассылок создана отдельная HTML-страница, при заходе на которую отображается список всех товаров, которые доступны в сообществе комиссионного магазина (vk.com/kiddly) в данный момент. Список товаров получается по API с помощью метода market.get (см. рис. 4.21), который возвращает json-файл с данными о товарах. Товары отображаются как элементы списка (<ul> <li>) (см. рис. 4.22), и на каждый элемент списка назначен обработчик события: клик по элементу (см. рис. 4.23). Это сделано для того, чтобы менеджер мог удобно выбирать товар, по которому необходимо провести рассылку, не покидая сайт информационной системы комиссионного магазина. Также для удобства менеджера дополнительно отображается не только текстовое описание, но и его фотография. Фотография добавляется как псевдоэлемент элемента списка (li::before). Дополнительно делается запрос к таблице Products базы данных для получения информация о том, проводилась ли рассылка по каждому из товаров. Если рассылка проводилась, то элемента сформированного списка дополняются информацией о дате отправки последнего сообщения о соответствующем товаре. Дополнение списка реализуется с помощью модификации DOM-элемента через функцию innerHTML(). При клике по элементу запрашивается дополнительное подтверждение на отправку рассылки для исключения случайных действий менеджера.

Рисунок 4.21. Получение списка товаров сообщества с помощью VK API

Рисунок 4.22 Отображение товаров в качестве элементов списка

Рисунок 4.23 Обработчик клика по товару с последующим подтверждением

После того как менеджер выбрал товар, по которому будет произведена рассылка, данные об этом товаре парсятся из сообщества магазина ВКонтакте (vk.com/kiddly) по ID товара (рис. 4.24). Затем из описания данного товара (поля description) получаются необходимые данные, в частности пол и возраст/рост, которые записываются в системные переменные $gender, $age и $height (см. рис. 4.25).

Рисунок 4.24. Парсинг данных о товаре из сообщества ВКонтакте по API

Рисунок 4.25. Считывание данных из поля description

Далее система производит поиск записей в таблице Сhildren, поля которых совпадают с данными, записанными в системные переменные. Если совпадения найдены, то система считывает данные о родителе ребенка из соответствующей записи в таблице Clients и сохраняет адрес его страницы ВКонтакте для дальнейшей отправки сообщения (рис. 4.26).

Рисунок 4.26 Поиск совпадений в базе данных

Перед отправкой сообщения пользователю, данные о рассылке логируются в базу данных. Добавляется запись в таблицу Products (Товары) и Message (Сообщения), Например, добавление в таблицу Message выглядит так (рис. 4.27).

Рисунок 4.27 Добавление данных о рассылке в таблицу Message

Также делается запись в таблице Client_message (это таблица, реализующая связь «многие-ко-многим» между таблицами Clients и Message). Затем производится непосредственно отправка сообщения адресату. Так как пользователей, которые могут быть заинтересованы в товаре, по которому проводится рассылка, может быть несколько, внесение данных в базу и отправка сообщения реализованы с использованием цикла (рис. 4.28).

Рисунок 4.28. Отправка рассылки адресатам

После успешной отправки на экране отображается соответствующее сообщение и система переходит в режим ожидания.

Заключение

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

В ходе анализа предметной области было проведено исследование средств интернет-маркетинга, а также изучены достоинства и недостатки систем, которые уже существуют на рынке для проведения рассылок в социальных сетях и мессенджерах, на основе анализа которых были сформулированы требования к разрабатываемой системе. Были изучены особенности деятельности комиссионного магазина и построена диаграмма его основного бизнес-процесса в состоянии “AS-IS”.

Для обоснования целесообразности разработки системы было проведено технико-экономическое обоснование, по результатам которого разработка система должна окупиться уже на второй месяц после внедрения ее в магазин.

После проведения обоснования была спроектирована база данных информационной системы, а также ее функции и интерфейс. Были построены диаграммы активностей для основных функций системы, а также приведены прототипы основных экранов интерфейса.

Дополнительно было проведено исследование методов API ВКонтакте. В реализации системы используются несколько групп методов API, основными из которых являются Market и Messages.

Система реализована в виде веб-приложения с использованием HTML, CSS, JavaScript, PHP и MySQL. Система обеспечивает возможность работы с базой данных магазина, а также возможность проведения рассылки через API ВКонтакте.

На данный момент система разработана и готова к эксплуатации. Необходимо отметить, что данная система имеет практическое значение для комиссионного магазина Kiddly и будет внедрена в него для работы на реальной клиентской базе. Результаты внедрения могут быть описаны для расширения существующего научного знания о рассылках в социальных сетях. Также система может быть доработана для других комиссионных магазинов или бизнесов, работающих по агентской модели, и предоставлена им в рамках подписной бизнес-модели.

Библиографический список

1. Alan E. Webber, "B2B Customer Experience Priorities In An Economic Downturn: Key Customer Usability Initiatives In A Soft Economy," Forrester Research, February 19, 2008.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.