Введение 4
Глава I. Постановка задачи проектирования и разработки 6
1.1. Задачи 6
1.2. Бизнес логика 6
Глава II. Используемые технологии 9
2.1. Аппаратные средства 9
2.2. Программные средства 9
2.2.1 Серверная часть 9
2.2.2 Клиентская часть 12
Глава III. Архитектура системы 13
3.1. Архитектура взаимодействия распределённых компонентов
системы 14
3.2. Архитектура базы данных 15
3.3. Архитектура серверной части 19
3.4. Архитектура клиентской части 20
Глава IV. Реализация серверной части 21
4.1. Подготовка 21
4.1.1 Настройка окружения и установка библиотек 21
4.1.2. Архитектура REST API 22
4.2. Компоненты 26
4.2.1 Модели базы данных 27
4.2.2 Контроллеры сервера 28
4.2.2.1. Авторизация 28
4.2.2.2. Управление компаниями 29
4.2.2.3. Управление сотрудниками 30
4.2.2.4. Управление заказами 31
4.2.2.5. Управление клиентами 32
4.2.2.6. Дополнительные контроллеры 33
Глава V. Реализация клиентской части 34
5.1. Подготовка 34
5.1.1. Создание каркаса проекта 34
5.2. Модули приложения 34
5.2.1. Модуль авторизации 35
5.2.2. Модуль директора 38
5.2.2.1. Страницы списка компаний и компании 38
5.2.2.2. Страница заказов и заказа 40
5.2.2.3. Страница клиентов и клиента 42
5.2.2.4. Страница сотрудников и сотрудника 43
5.2.3. Модули сотрудника 47
5.2.4. Общие модули 48
Заключение 51
Список использованной литературы 52
Приложение 54
Рынок IT услуг непомерно велик, на просторах интернета существует огромное количество сервисов, созданных удовлетворить потребности бизнеса. Так или иначе, не всегда какой-то отдельный программный продукт может покрыть все сферы влияния конкретно взятого бизнеса. От того и существует огромное количество дополняющих друг друга, в той или иной степени, платформ. Однако при всём многообразии предлагаемых решений существуют такие бизнес задачи, которые до сих пор не нашли своей реализации.
Важной составляющей любого бизнеса являются системы взаимодействия с клиентами. Такие системы дают возможность сотрудникам предприятия вести учёт заказов и клиентов, что в последствии даёт возможность манипулировать этими данными и упрощать работу с документооборотом и аналитикой эффективности работы бизнеса.
Это конечно отлично, что такие системы есть и что от них компаниям становится проще работать, но это так же даёт возможность повышения качества услуг. Однако существует такой пласт компаний, в которых ценится не только управление данными о заказах и клиентах, но и есть требование иметь визуальное представление о том, где конкретно находится то место, где нужно оказать ту или иную услугу. И к таким компаниям относятся предприятия, предоставляющие любой вид услуг, где требуется выезд специалиста на место. Это может быть курьерской доставкой, монтажными работами, установкой окон и дверей и так далее. Именно эти направления являются ключевыми для CRM платформы «MobiCRM».
Целью дипломной работы является разработка программного обеспечение для управления данными о заказах и клиентах компании, а так же, помимо обычных данных, визуализация информации о местоположении заказов на карте. Программное обеспечение должно включать в себя клиентское web-приложение, web-сервер и базу данных. Базу данных и web- сервер необходимо выложить на удалённом сервере, то же самое необходимо проделать и с клиентской частью приложения.
В ходе написания выпускной квалификационной работы были выполнены все основные задачи. Разработано программное обеспечение, которое позволяет компаниям упростить работу с клиентами и с заказами, а так же предоставляет возможности создания сотрудников компании и получения аналитических данных о их работе.
Итоговое программное обеспечение представляет собой два приложения и базу данных. Серверное приложение, которое крутиться на выделенном виртуальном сервере во Франции и которое взаимодействует с базой данных на локальной машине и получает различные HTTP запросы. А также клиентское приложение, которое даёт пользователям обширный функционал личного кабинета для ведения заказов и клиентов компании. Данные приложения разработаны с использованием популярных архитектур и являются современным программным решением для конкретных бизнес проблем.
На сегодняшний день CRM система «MobiCRM» была на практике использована компанией, которая занимается выездными монтажными работами. Система тестировалась на протяжении трёх недель и в процессе использования были найдены и решены различные программные ошибки. Компания положительно отозвалась об этом опыте и намерена дальше продолжать использовать эту систему. Так как у разработанного программного обеспечения имеется огромный потенциал, работа над ней не заканчивается. Сейчас разрабатывается план дальнейшей монетизации и развития системы.
1. Шаблоны проектирования Node.js, 2-е изд. / пер. с англ. А.Н. Киселева. - М.: ДМК Пресс, 2017. - 396 с.: ил. - ISBN 978-5-97060-485-4
2. JavaScript для профессионалов, 2-е изд. / пер. с англ. - М.: ООО «И.Д. Вильямс», 2017. - 240с.: ил. - ISBN 978-5-8459-2054-6
3. JavaScript. Шаблоны. - Пер. с англ. - СПб.: Символ-Плюс, 2011. - 272с. ил. - ISBN 978-5-93286-208-7
4. JavaScript: карманный справочник, 3-е изд.: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2014. - 320с.: ил. - ISBN 978-5-8459-1830-7
5. Новая большая книга CSS. - СПб.: Питер, 2016. - 720с.: ил. - (Серия «Бестселлеры O’Reilly»). - ISBN 978-5-496-02080-0
6. Eric A. Meyer. CSS Pocket Reference / Eric A. Mayer / O’Reilly. - 2011. - ISBN 978-1-449-39903-0
7. Ethan Brown. Learning JavaScript / Ethan Brown / O’Reilly. - 2016.
8. Wikipedia, бесплатная библиотека [Электронный ресурс]. - Режим доступа: ru.wikipedia.org, свободный. - Загл. с экрана. (дата обращения: 27.01.2018).
9. Хабрахабр, бесплатный блог разработчиков [Электронный ресурс]. - Режим доступа: habr.com, свободный. - Загл. с экрана. (дата обращения: 29.01.2018
10. Воскан В. ORM - система Sequelize для Node.js [Электронный ресурс]. - Режим доступа: https://hackerx.ru/orm-sequelize-node-js/, свободный. - Загл. с экрана. (дата обращения: 1.02.2018)
11. Мелихов А. Аутентификация в Node.js с использованием Passport.js [Электронный ресурс]. - Режим доступа: https://medium.com/devschacht/node- hero-chapter-8-27b74c33a5ce, свободный. - Загл. с экрана. (дата обращения: 10.02.2018)
12. Metanit. Руководство по Angular 6 [Электронный ресурс]. - Режим доступа: https://metanit.com/web/angular2/, свободный. - Загл. с экрана. (дата обращения: 13.02.2018)
13. Google. Angular 6 [Электронный ресурс]. - Режим доступа: https://angular.io/,
свободный. - Загл. с экрана. (дата обращения: 17.02.2018)