Добавлен: 08.11.2023
Просмотров: 84
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской Федерации
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ (НИ ТГУ)
Факультет информатики
Кафедра теоретических основ информатики
(ТОИ)
ДОПУСТИТЬ К ЗАЩИТЕ В ГЭК
Руководитель ООП
_________________ А.Л. Фукс
«___»________________2016 г.
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
РАЗРАБОТКА ВЕБ-СЕРВИСА ДЛЯ ИНТЕРНЕТ-МАРКЕТИНГА ЧАСТНЫХ
РАБОТНИКОВ МЕДИЦИНЫ
по основной образовательной программе подготовки бакалавров направление подготовки
02.03.02 Фундаментальная информатика и информационные технологии
Сарычев Максим Олегович
Руководитель ВКР ген. директор ООО «Инвент»
_____________А.С. Передерей
«подпись»
«
«_»
2016 г.
Автор работы студент группы № 1421
М.О. Сарычев
«
подпись
»
Томск - 2016
2
РЕФЕРАТ
Выпускная квалификационная работа бакалавра 34 с., 22 рис., 1 таблица, 7 источников.
ВЕБ-СЕРВИС,
МЕДИЦИНСКАЯ
СФЕРА,
ИНТЕРНЕТ-
МАРКЕТИНГ, PHP, ФРЕЙМВОРК, LARAVEL, MVC
Цель работы: разработка веб-сервиса для интернет-маркетинга частных работников медицины.
Методология: унифицированный процесс разработки программного обеспечения.
Результат работы: реализованный веб-сервис внедрен в работу и размещен в сети интернет
3
Содержание
Введение .................................................................................................................. 4
1. Анализ ................................................................................................................ 6
1.1 Анализ существующих решений ............................................................... 6
1.2 Требования к разрабатываемой системе ............................................... 10
2. Проектирование .............................................................................................. 11
2.1. Выбор платформы разработки ............................................................... 11
2.2 Особенности архитектуры Laravel ......................................................... 12
2.2.1 Общий обзор .......................................................................................... 12
2.2.2 Ключевые особенности Laravel ......................................................... 13
2.3 Проектирование базы данных ................................................................. 15
2.4 Проектирование архитектуры приложения ......................................... 18
3. Реализация ...................................................................................................... 22
Заключение ........................................................................................................... 29
Список использованной литературы .............................................................. 30
Приложение 1. Руководство пользователя .................................................... 31
4
Введение
Интернет-маркетинг – это комплекс мероприятий, цель которых – продвижение сайта, товара или услуги в интернете. В качестве продукта продвижения также может выступать конкретная личность.
Роль эффективного маркетинга и продвижения коммерческого продукта в
Интернете в современном мире трудно переоценить. И это касается не только тех товаров/услуг, которые мы привыкли заказывать онлайн, и той информации, которую мы ищем на тематических сайтах. Стремительно растет роль интернет-маркетинга для организаций, работающих в сфере медицины, а также частных врачей. Это связано с несколькими основными тенденциями в медицинском интернет-маркетинге:
-
Все больше пациентов ищут врачей, лечебные учреждение, санатории и поставщиков товаров медицинского назначения через Интернет.
-
Перед тем, как воспользоваться медицинскими услугами, пациенты знакомятся с отзывами на сайтах и информацией, размещенной в
Интернете.
-
Все больше медицинских услуг предоставляется дистанционно. Так, например, стремительно развивается рынок онлайн-консультаций врачей. Достичь успеха в этом направлении позволяют современные инструменты продвижения и коммуникации.
-
Новейшие технологии дают возможность консолидировать информацию о пациенте в электронных базах, что позволяет эффективно предоставлять медицинские услуги, организовывать медицинское обеспечение пациента и решать целый ряд других задач.
Под интернет-маркетингом можно понимать комплексную работу по взаимодействию с целевой аудиторией. Когда мы получаем обратную связь по своим услугам и товарам, оказываем дополнительный сервис (полезная тематическая рассылка, дистанционная помощь), информируем об услугах и
5 продуктах, доносим их ценность и уникальность. Проще говоря, интернет- маркетинг – это повышение, сохранение и продвижение своей репутации, как квалификационного специалиста в своей области медицины, в сети Интернет.
Подводя итог вышесказанному, можно сказать, что интернет-маркетинг одного частного врача включает в себя самые различные инструменты: сайт
(обычно блог), группы(профиль) в социальных сетях, контекстная реклама, контент-маркетинг, видео реклама и обучающие видеоролики, обработка обратной связи с пациентами, тематические рассылки для пациентов, PR- кампании. Ежедневная обработка всех пунктов этого списка – весьма трудоемкий процесс, занимающий много времени. Из этого следует необходимость создания специального сервиса, упрощающего управление своим интернет-маркетингом.
Целью данной работы является разработка веб-сервиса, который предоставит частному врачу интерфейс для управления состоянием своего интернет-маркетинга из одного места, в удобном виде. Задача будет решатся для реалий Американского рынка медицинских услуг, так как в России и странах СНГ такая практика только начинает зарождаться, и, пока зарождается она только для частных клиник. Задача же предполагает, что основным ее пользователем будет частный американский врач.
6
1.Анализ
Для того чтобы разрабатываемая система была эффективно реализована и имела успех, необходимо с самого начала понимать, что необходимо получить в результате. Поэтому сначала проанализируем существующие аналогичные решения и сформулируем основные требования к разрабатываемой системе.
1.1 Анализ существующих решений
Прежде чем приступить к моделированию и проектированию проекта, необходимо изучить программные средства, которые уже функционируют и решают аналогичные задачи. Как уже упоминалось выше, практика использования интернет-маркетинга для частных врачей популярна только на
Американском рынке. На Российском же рынке, интернет-маркетинг используется, в основном, для клиник, что для нас не очень информативно.
1.1.1 Ratemds.com
Сервис позволяет зарегистрироваться как частный врач и получать отзывы о себе. Пациенты могут зайти на сайт и читать\оставлять отзывы о конкретном враче. Сервис с большой посещаемостью и большой базой докторов. Пользование сайтом бесплатно. Данный сервис подходит только для одного инструмента интернет-маркетинга: получение и обработка обратной связи от пациентов, но только с этого сайта, что очень ограничивает возможную потенциальную аудиторию. На рисунке 1 изображен профиль одного врача с отзывами и оценками от пациентов.
7
Рисунок 1 – Профиль мед. работника на сайте Ratemds.com
1.1.2 Doctorbase.com
Данный веб-сервис позволяет создавать электронное расписание приема пациентов, отправлять пациенту запрос об обратной связи после приема, из которой в дальнейшем формируется отзыв, отправлять пациентам напоминания о записи не только по электронной почте, но также и на мобильный телефон, предоставляет сервис вопросов-ответов, благодаря которому можно продемонстрировать свою квалификацию потенциальным клиентам. Сервис платный, минимальный план стоит $150 в месяц. На рисунке
2 можно увидеть список возможностей для оплативших подписку врачей.
8
Сервис с хорошими возможностями, но использует мало инструментов для интернет-маркетинга. Больше подходит для упрощения работы врачей с большой базой клиентов, нежели для комплексного управления интернет- маркетингом.
Рисунок 2 – Фрагмент страницы веб-сервиса «Doctorbase.com».
1.1.3 Medmarketing.ua
Рассмотрим сайт организации, работающей на территории СНГ.
Фрагмент страницы представлен на рисунке 3. Сайт предлагает услугу продвижения в сети интернет сайтов медицинских клиник, стоматологий, медицинских центров. Анализ сайтов с подобной тематикой позволяет сделать вывод, что для Российского рынка понятие интернет-маркетинга распространяется исключительно на целые клиники и прочие организации медицинской сферы.
9
Рисунок 3 – Фрагмент страницы сайта Medmarketing.ua
В данной главе были рассмотрены веб-сервисы с функционалом, наиболее похожем на тот, что мы собираемся реализовать в рамках данной работы. Были проанализированы и другие сервисы, но все они так или иначе повторяют функционал сервисов из данного обзора.
Проанализировав существующие системы, можно сделать вывод, что в интернете существуют веб-сервисы с тематикой нашей задачи, но они, как правило, не предоставляют всех необходимых инструментов для интернет- маркетинга. Было решено разработать веб-сервис, который бы позволял использовать большинство возможных инструментов для интернет- маркетинга и предоставлял бы удобный пользовательский интерфейс для управления ими.
10
1.2 Требования к разрабатываемой системе
Разрабатываемый веб-сервис должен:
содержать административную часть
содержать пользовательскую часть
иметь возможность бесплатного использования
Система должна предоставлять возможность использования медицинским работником следующих инструментов интернет-маркетинга:
- Наполнение контентом личного блога – интеграция блога с возможностью полного удаленного управления блогом. Также администраторами будет предоставляться готовый контент, которым смогут воспользоваться пользователи.
- Размещение материалов\статей в социальных сетях – интеграция с профилями клиента в социальных сетях с возможностью размещения контента от имени пользователя, в том числе, с функцией размещения контента по расписанию.
- Отправка почтовых писем пациентам – предоставление пользователю возможности управлять списками электронных почтовых адресов пациентов, проводить тематические рассылки.
- Сервисы отзывов - интеграция с аккаунтами на специализированных сервисах отзывов для обработки обратной связи с пациентами и сбор оценок\отзывов в одно место для последующего анализа и вывода в удобном виде.
Административная часть – часть веб-сайта, доступная только пользователям с административным доступом. Предоставляет интерфейс для взаимодействия с контентом сайта и выполнения настроек пользовательской части.
Пользовательская часть – общедоступная часть веб-сайта.
Предоставляет пользователям интерфейс для настройки и управления инструментами для интернет-маркетинга, представленными на сайте.
11
2. Проектирование
2.1. Выбор платформы разработки
При проектировании любой системы, одним из первых вопросов, которые предстоит решить разработчику – платформа для программной реализации системы. Для случая разработки веб-сайтов, выбор делится на два варианта:
1. Разрабатывать сайт «с нуля».
Данный вариант позволяет иметь полный контроль над разработкой и ее результатами. Разработчик имеет полную свободу выбора в принятии решений. В то же время, скорее всего, придется реализовывать функционал, который в других случаях может уже быть реализован и готовым к использованию.
2. Разрабатывать сайт, используя CMS в качестве основы.
CMS(Content Management System) – система управления контентом.
Это информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым). Данное решение очень распространено среди сайтов, функционал которых не сильно уходит за рамки «стандартного», либо в случае сильных временных ограничений для разработчика. С другой стороны, в качестве недостатков мы имеем необходимость использовать те стандарты, структуру и API, которые предоставляет данная система.
Так как никаких временных ограничений на проект не накладывалось и в разрабатываемой системе предусматривался не совсем «стандартный» функционал, было принято решение отказаться от варианта с CMS в пользу разработки сайта «с нуля».
Идеальным вариантом для разработки нашей системы был бы фреймворк, который бы поставлялся с частью уже готового «стандартного» функционала, чтобы свести минусы выбранного способа разработки к минимуму.
12
Принимая во внимание вышесказанное, было принято решение использовать PHP-фреймворк Laravel[2].
2.2 Особенности архитектуры Laravel
2.2.1 Общий обзор
Laravel
— бесплатный веб-фреймворк с открытым кодом, предназначенный для разработки с использованием архитектурной модели
MVC.
Архитектурная модель(каркас) MVC (Model-View-Controller, Модель-
Представление-Контроллер) – схема совместного использование нескольких шаблонов проектирования, позволяющая разделить данные, представление и обработку действий пользователя на три отдельных компонента:
1) Модель - предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
2) Представление – отвечает за визуализацию информации.
3) Контроллер - обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Основная цель применения этой схемы состоит в отделении бизнес- логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования.
Диаграмма использования MVC в Laravel хорошо представлена на
рисунке 4.
13
Рисунок 4 – MVC в Laravel
2.2.2 Ключевые особенности Laravel
В основе архитектуры Laravel, лежат следующие возможности:
1) Пакеты - позволяют создавать и подключать модули в формате
Composer[2] к приложению на Laravel. Многие дополнительные возможности уже доступны в виде таких модулей.
2) Eloquent ORM — реализация шаблона проектирования ActiveRecord на PHP. Позволяет строго определить отношения между объектами базы данных.
3) Логика приложения — часть разрабатываемого приложения, объявленная либо при помощи контроллеров, либо маршрутов
(функций-замыканий).
4) Обратная маршрутизация связывает между собой генерируемые приложением ссылки и маршруты, позволяя изменять последние с автоматическим обновлением связанных ссылок. При создании ссылок с помощью именованных маршрутов Laravel автоматически генерирует конечные URL.
14 5) REST-контроллеры — дополнительный слой для разделения логики обработки GET- и POST-запросов HTTP.
6) Автозагрузка классов — механизм автоматической загрузки классов
PHP без необходимости подключать файлы их определений в include.
Загрузка по требованию предотвращает загрузку ненужных компонентов; загружаются только те из них, которые действительно используются.
7) Составители представлений (англ. view composers) — блоки кода, которые выполняются при генерации представления (шаблона).
8) Инверсия управления (англ. Inversion of Control) — позволяет получать экземпляры объектов по принципу обратного управления.
Также может использоваться для создания и получения объектов- одиночек (англ. singleton).
9) Миграции — система управления версиями для баз данных.
Позволяет связывать изменения в коде приложения с изменениями, которые требуется внести в структуру БД, что упрощает развёртывание и обновление приложения.
10)
Модульное тестирование (юнит-тесты) — играет очень большую роль в Laravel, который сам по себе содержит большое число тестов для предотвращения регрессий (ошибок вследствие обновления кода или исправления других ошибок).
11)
Страничный вывод (англ. pagination) — упрощает генерацию страниц, заменяя различные способы решения этой задачи единым механизмом, встроенным в Laravel.
Также в стандартный установщик Laravel встроен модуль регистрации и аутентификации плюс уже сформированные миграции для таблиц пользователей с ролями, что сводит минусы выбора данного фреймворка вместо CMS, практически к нулю.