Система автоматизации задач по администрированию страницы «Бесплатный Нижний» в социальной сети ВКонтакте



Содержание

Введение 4

1) Разработка и анализ ТЗ 6

   1.1 Цель разработки 6

   1.2 Назначение разработки 6

   1.3 Область применения 6

   1.4 Функциональные требования 7

         1.4.1 Функциональные требования к системе7

         1.4.2 Функциональные требования к мобильному приложению8

   1.5 Количественные требования 9

         1.5.1 Количественные требования к системе9

         1.5.2 Количественные требования к мобильному приложению10

   1.6 Требования безопасности 10

   1.7 Требования надёжности 10

   1.8 Требования по интерфейсу 11

   1.9 Анализ технологий 12

   1.10 Анализ сущностей предметной области 13

2) Разработка проекта 14

   2.1 Архитектура 14

         2.1.1 Схема архитектуры программы 15

         2.1.2 Архитектура системы автоматизации 16

         2.1.3 Архитектура мобильного приложения 19

                  2.1.3.1 Вход в приложение 19

                  2.1.3.2 Список объявлений 20

                  2.1.3.3 Добавление объявления и аккаунт 22

3) Расчёты и оценки23

   3.1 Требования безопасности23

   3.2 Требования надёжности24

   3.3 Требования по интерфейсу25

   3.4 Аналитический отчёт25

4) Руководство пользователя26

   4.1 Предварительные действия по установке системы26

         4.1.1 Установка модуля удаления спама со стены26

         4.1.2 Установка модуля удаления спама из обсуждений27

         4.1.3 Установка модуля размещения объявлений,

                  предложенных через ВКонтакте28

         4.1.4 Установка модуля размещения и удаления объявлений

                  через мобильное приложение29

         4.1.5 Установка модуля сбора статистики29

   4.2 Предварительные действия по установке мобильного приложения30

   4.3 Руководство пользователя системы30

   4.4 Руководство пользователя мобильного приложения31

         4.4.1 Вход и регистрация31

         4.4.2 Настройка аккаунта 31

         4.4.3 Просмотр объявлений 32

         4.4.4 Добавление объявления32

         4.4.5 Удаление объявления 33

Заключение34

Список литературы37

Приложения40

Введение

SMM илиSocialMediaMarketing, а проще говоря, маркетинг в социальных сетях, развивается колоссальными темпами в последние годы. Появилось большое количество платформ в Интернете, позволяющих выстраивать коммуникацию между людьми и компаниями8. Различные бренды тратят всё большую и большую часть своего рекламного бюджета на выстраивание взаимоотношений с потребителями через социальные сети3. Недавнее исследование, проведённоеDukeSchoolofBusiness19 выявило, что в 2014 году затраты наSMM составляли 9% от общих маркетинговых бюджетов американских корпораций, в прошедшем 2015 году затраты выросли до 13% общего бюджета. Ожидается, что тенденция роста сохранится и к 2019 году доля маркетингового бюджета американских компаний, расходуемого на социальные медиа, достигнет 21%.

Исходя из сложившихся рыночных обстоятельств, область маркетинга в социальных сетях становится привлекательной дляIT-компаний, способных «облегчить жизнь» маркетологам и сэкономить существенную часть бюджета компании, предоставляя собственные решения автоматизации повседневных задач маркетологов1. Было принято решение, при написании дипломной работы, сконструировать собственную систему автоматизации процессов администрирования страниц в социальных сетях, на базе страницы «Бесплатный Нижний» (www.vk.com/nn.free), специализирующейся на проведении обменов товарами и услугами между жителями Нижнего Новгорода, в социальной сети ВКонтакте (www.vk.com).

До внедрения автоматизированной системы администрирования сообществом, администратор сообщества ежедневно тратил время на:

1). Размещение предложенных объявлений (50 объявлений в день) – 60 минут.

2). Проверка предложенных объявлений (удаление спама и объявлений, нарушающих правила сообщества) – 10 минут.

3). Удаление спама из комментариев со стены сообщества и разделов обсуждений – 10 минут.

Итог, основная работа администратора сообщества укладывалась в 80 минут, что означает, что при хорошей постоянной производительности один маркетолог, работающий в социальных сетях, может в течении одного 8-ми часового рабочего дня администрировать до 6 страниц. Не так-то и плохо, но люди не роботы, поэтому это число около 3-4 однотипных страниц, таких как «Бесплатный Нижний»

Теперь рассмотрим исходные данные со стороны пользователя «Бесплатного Нижнего», который ежедневно пользуется сообществом для обмена своих ненужных вещей на ненужные вещи других людей:

1). Предложенное объявление может выйти через день или два дня, так как администратор не постоянно отслеживает появление новых предложенных объявлений.

2). Предложенное объявление может вовсе быть не размещено, так как администратору позволено размещать не более 50 объявлений в день, и он размещает только те, что пришли к нему не так давно до начала его работы.

Итог, очень много жалоб от пользователей, которые расстраиваются, что их объявление выходит очень поздно, либо вообще не выходит.

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

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

1) Разработка и анализ технического задания

1.1 Цель разработки

Разработать систему автоматизации задач по администрированию страницы «Бесплатный Нижний» в социальной сети ВКонтакте, находящейся по адресуwww.vk.com/nn.free

Готовая система должна сократить время работы маркетолога над одной страницей с 40 минут в день до 5-10 минут в день, а также, сократить время ожидания размещения объявления с 12-24 часов до 0-30 минут.

1.2 Назначение разработки

На реальном примере протестировать возможность создания и развёртывания системы автоматизации процессов администрирования страниц в социальных сетях.

Готовая система, созданная во время проведения исследований дипломной работы, создаст благополучные условия для развития сообщества «Бесплатный Нижний», а в дальнейшем, возможно и сети сообществ по обмену товарами и услугами в социальных сетях, так как система позволит сильно оптимизировать ресурсы, требуемые для администрирования одного сообщества.

1.3 Область применения

Готовую систему могут использовать администраторы сообществ в социальной сети ВКонтакте, специализирующиеся на обмене.

Мобильное приложение, разработанное для взаимодействия пользователей с системой, предназначено для быстрых обменов товаров и услуг жителями Нижнего Новгорода.

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

Модуль борьбы со спамом могут использовать администраторы всех сообществ социальной сети ВКонтакте.

Общее описание области применения –SocialMediaMarketing.

1.4 Функциональные требования

1.4.1Функциональные требования к системе

1). Ежеминутная проверка новых комментариев на стене сообщества и в разделах обсуждений на наличие спама.

2). Блокировка пользователя, разместившего спам (разметившего сообщение, которое содержит запрещённое слово из списка стоп-слов), с указанием в комментариях к блокировке стоп-слово, за которое налагаются санкции и текст комментария целиком.

3). Ежедневная рассылка, наe-mail администратора, данных о суточном прибавлении новых участников в сообщество.

4). Еженедельная рассылка, наe-mail администратора, данных о количестве новых пользователей за прошедшую неделю.

5). Ежемесячная рассылка, наe-mail администратора, данных о количестве новых пользователей за прошедший месяц.

6). Ежегодная рассылка, наe-mail администратора, данных о количестве новых пользователей за прошедший год.

7). Размещение предложенного поста, имея только его идентификатор.

8). Возврат идентификатора размещённого поста.

9). Объединение нескольких предложенных объявлений в одно и его размещение.

10). Проверка предложенных постов на наличие спама и нарушение правил сообщества.

11). Удаление предложенных постов, нарушающих правила страницы или являющихся спамом.

12). Временная блокировка пользователей за нарушение правил сообщества с указанием пункта правил, которое нарушил пользователь.

13). Размещение предложенных постов не позднее чем через 30 минут после публикации пользователем.

1.4.2Функциональные требования к мобильному приложению

1). Вход пользователя в приложение через окно аутентификации пользователя ВКонтакте, с дальнейшим получением ключа доступа (access_token).

2). Выход пользователя из приложения с возможностью перелогиниться под другим аккаунтом ВКонтакте.

3). Получение Имени и Фамилии пользователя, используя данные ВКонтакте.

4). Запрос номера телефона пользователя для связи с ним другими пользователями.

5). Запрос удобного адреса для проведения обменов.

6). Сохранение номера телефона, адреса и имени пользователя в локальной базе данных телефона.

7). Показ условно бесконечной ленты объявлений, размещённых на странице ВКонтакте, в мобильном приложении.

8). Реализация кнопки «Хочу себе» под каждым объявлением.

9). Открытие диалога с владельцем объявления по нажатию на кнопку «Хочу себе»

10). Отправка из диалога «Хочу себе» сообщения владельцу объявления в комментариях к объявлению.

11). Реализация кнопки «Пожаловаться» под каждым объявлением.

12). Открытие диалога с администратором страницы по нажатию на кнопку «Пожаловаться».

13). Сворачивать текст объявления, если он более 150 знаком и разворачивать при клике.

14). Указывать дату и время размещения объявления.

15). Размещение кликабельной ссылки на страницу автора объявления ВКонтакте.

16). Моментальное размещение нового объявления на стене группы «Бесплатного Нижнего» из приложения.

17). Добавление фотографий на стену сообщества.

18). Размещение не более одного объявления с одного телефона в день.

19). Добавление к размещаемому посту номер телефона и адрес для обмена при наличии их в локальной базе данных.

20). ВнедрениеGoogleAnalytics для сбора и анализа данных поведения пользователей приложения.

1.5Количественные требования

1.5.1Количественные требования к системе

1). Проведение проверки комментариев на спам каждые 10 минут.

2). Проверка на спам последние 100 комментариев на стене.

3). Проверка на спам последние 100 комментариев каждого обсуждения.

4). Публикация до 50 постов на стену сообщества в день.

5). Не более одной публикации в день от одного пользователя.

1.5.2Количественные требования к мобильному приложению

1). Размещение не более одного объявления в день с одного телефона.

2). Условно бесконечная лента новостей сообщества «Бесплатный Нижний».

Ограничения: память телефона, количество постов на стене.

3). Добавление к объявлению не более 10 фотографий.

4). Один одновременный пользователь.

1.6 Требования безопасности

1). Действия администратора выполняет только система, мобильное приложение не имеет доступа к выполнению действий на странице в соц. сети от администратора, а может лишь послать системе намерение на выполнение определённого действия.

2). Использование мобильного приложение разрешено только при получении достоверного ключа доступа от ВКонтакте.

3). Наличие уточняющих уведомлений при выполнении действий в мобильном приложении.

1.7 Требование надёжности

1). Не более 1% ошибок (1 ошибка на 100 сеансов) в мобильном приложении.

2). Самовосстановление системы после падения целиком или какого-нибудь из модулей.

3). Падения модулей системы без потери пользовательских данных не критичны.

1.8 Требование по интерфейсу мобильного приложения

1). Поддержка версии 4.0.3Android или более поздней

2). Возможность просмотра файлов пользователей.

3). Неограниченный доступ в интернет.

4). Просмотр сетевых подключений.

5). Предотвращение переключения устройства в спящий режим.

6). Унифицированный пользовательский интерфейс.

7). Интуитивно-понятный пользовательский интерфейс.

8). Поддержка русского языка.

1.9Анализ технологий

Для доступа к Вконтакте API используется механизм клиентской авторизации на базепротокола OAuth 2.07.

OAuth 2.0 — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль15.

В результате прохождения процесса авторизации выдаётся ключ доступа access_token, c помощью которого можно выполнять любые запросы к API ВКонтакте от имени пользователя или от имени приложения4. В зависимости от набора полученных прав доступа некоторые методы API могут быть недоступны6.

Система автоматизации процессов администрирования страниц в социальных сетях представляет из себя набор скриптов (модулей) написанных на языке C#, взаимодействующих со страницей через API ВКонтакте и исполняемых в строгой временной последовательности, планировщиком задач CRON.

API ВКонтакте— это набор готовых классов, процедур, функций, структур и констант, предоставляемых ВКонтакте для использования во внешних программных продуктах2.

CRON  — классический демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время9. Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные директории17.

Система размещена на VPS от провайдера Infrobox. VPS (англ. Virtual Private Server) — услуга, в рамках которой пользователю предоставляется так называемый Виртуальный выделенный сервер11. В плане управления операционной системой по большей части она соответствует физическому выделенному серверу12.

Мобильное приложение представляет собой пользовательское приложение под операционную систему Android версии 4.0.3 и выше, написанное на языке Java и свёрстанное на языке разметки XML2.

1.10 Анализ сущностей предметной области

1). Token (access token, токен) – ключ доступа пользователя/администратора к механизмам взаимодействия со страницей ВКонтакте13.

2).Post (пост, объявление) – структура типаpost содержит текст, прикреплённые файлы, информацию о владельце, дату размещения и уникальный идентификатор объявления на стене группы21.

3).User (пользователь) – структура типаuser содержит информацию о пользователе, в том числе имя, дату рождения, город проживания, уникальный идентификатор пользователя ВКонтакте.

2) Разработка проекта.

2.1Архитектура

Весь проект можно выделить на две части.

Первая часть – это серверная система, отвечающая за автоматизацию процессов администрирования сообществ. Серверная система состоит из блоков (модулей), работающих независимо друг от друга. Каждый модуль представляет собой скрипт, запускающийся по расписанию планировщиком задач и выполняющий ряд функций администратора сообщества. Набор модулей:

- модуль удаления спама со стены,

- модуль удаления спама из обсуждений,

- модуль размещения предложенных объявлений во ВКонтакте,

- модуль размещения предложенных объявлений через мобильное приложение,

- модуль сбора статистики.

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

2.1.1Схема архитектуры

Рисунок 1 – схема архитектуры программы

2.1.2Архитектура системы автоматизации

Рисунок 2 – Архитектура системы автоматизации

Система автоматизации состоит из независимых модулей (скриптов), запускаемых по расписанию планировщиком задачCRON. Каждый модуль выполняет конкретную задачу администратора страницы. Все модули общаются с серверами ВКонтакте с помощьюAPI ВКонтактеhttp-запросами.

1). Модуль удаления спама со стены.

Скрипт запускается раз в 5 минут. Получает от ВКонтакте текст новых комментариев, оставленных под объявлениями страницы. Затем, скрипт проверяет все комментарии на наличие запрещённых слов и словосочетаний (список запрещённых слов и словосочетаний, находится в файлеstop_words.txt, который может править администраторVPS-сервера). Если скрипт находит в комментарии запрещённые слова, этот комментарий удаляется, а его автор отправляется в бан-лист сообщества на срок, указанный в правилах сообщества.

2). Модуль удаления спама из обсуждений.

Скрипт запускается раз в 5 минут. Получает от ВКонтакте текст новых объявлений, оставленных в обсуждении страницы. Затем, скрипт проверяет все объявления на наличие запрещённых слов и словосочетаний (список запрещённых слов и словосочетаний, находится в файлеstop_words.txt, который может править администраторVPS-сервера). Если скрипт находит в объявлении запрещённые слова, это объявление удаляется, а его автор отправляется в бан-лист сообщества на срок, указанный в правилах сообщества.

3). Модуль размещения предложенных объявлений через ВКонтакте.

Скрипт запускается по расписанию, сформированному администраторомVPS-сервера. После запуска скрипт запрашивает от сервера ВКонтакте последнее предложенное объявление. Затем текст этого объявления проверяется на наличие запрещённых слов и словосочетаний (список запрещённых слов и словосочетаний, находится в файлеstop_words.txt, который может править администраторVPS-сервера), на наличие фотографий, а также, скрипт проверяет, сколько раз сегодня пользователь уже размещал объявления. Если запрещённых слов и словосочетаний в объявлении найдено не было, фотографии были прикреплены к объявлению и пользователь размещает объявление первый раз в текущий день, то это объявление успешно публикуется и скрипт модуль свою работу, иначе, объявление удаляется, его автор отправляется в бан-лист сообщества на срок, указанный в правилах сообщества, и модуль запрашивает следующее предложенное объявление.

4). Модуль размещения и удаления объявлений через приложение.

Модуль размещения работает постоянно в режиме ожидания подключений в качествеtcp-сервера. Подключённый клиент передаёт серверу уникальный идентификатор объявления. Модуль получает текст этого объявления. Затем текст этого объявления проверяется на наличие запрещённых слов и словосочетаний (список запрещённых слов и словосочетаний, находится в файлеstop_words.txt, который может править администраторVPS-сервера). Если запрещённых слов нет, то объявление публикуется на стену страницы и клиенту отправляется уникальный идентификатор опубликованного объявления, иначе, предложенное объявление удаляется, а клиенту отправляется нулевое значение.

Аналогично работает модуль удаления постов. В режиме ожидания модуль ждёт подключения клиента. При успешном подключении сервер принимает идентификатор объявления и удаляет его.

5). Модуль сбора статистики.

Существует 4 модуля сбора статистики. Они работают одинаково, но собирают данные разных временных промежутков (день, неделя, месяц, год). Модуль сбора статистики запускается ровно в полночь. После запуска, скрипт получает информацию о количестве подписчиков страницы, затем это значение сравнивается со значением, которое было в момент последней работы модуля. Текущее значение подписчиков и разницу с предыдущим показателем скрипт отсылает наe-mail администратора страницы.

2.1.3Архитектура мобильного приложения