• No results found

CRM система обліку й оренди нерухомості

N/A
N/A
Protected

Academic year: 2022

Share "CRM система обліку й оренди нерухомості"

Copied!
90
0
0

Повний текст

(1)

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

“КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО”

Факультет і нформатики та обчислювальної техніки Кафедра обчислювальної техніки

До захисту допущено:

Завідувач кафедри Сергій СТІРЕНКО

(підпис)

“ ” 2021 р.

Дипломний проєкт

на здобуття ступеня бакалавра

за освітньо-професійною програмою “Комп’ютерні системи та мережі”

спеціальності 123 “Комп’ютерна інженерія”

на тему: CRM система обліку й оренди нерухомості Виконав (-ла): студент (-ка) 4 курсу, групи ІО-72  

(шифр групи)

Фролов Микита Костянтинович

(прізвище, ім’я, по батькові) (підпис)

Керівник ст. викладач Алещенко О . В.

(посада, науковий ступінь, вчене звання, прізвище та ініціали) (підпис)

Консультант проф. д.т.н. Сімоненко В. П.

(назва розділу) (посада, вчене звання, науковий ступінь, прізвище та ініціали) (підпис)

Рецензент    

(посада, науковий ступінь, вчене звання, прізвище та ініціали) (підпис)

Засвідчую, що у цьому дипломному проєкті немає запозичень з праць інших авторів без відповідних посилань.

Студент

(підпис)

(2)

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

“КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО”

Факультет інформатики та обчислювальної техніки Кафедра обчислювальної техніки

Рівень вищої освіти – перший (бакалавр) Освітньо-професійна програма

“Комп’ютерні системи та мережі”

спеціальність 123 “Комп’ютерна інженерія”

ЗАТВЕРДЖУЮ Завідувач кафедри Сергій СТ І РЕНКО

(підпис)

“ ” 2021 р.

ЗАВДАННЯ

на бакалаврський дипломний проєкт студента

Фролова Микити Костянтиновича   1. Тема проєкту CRM система обліку й оренди нерухомості

керівник проєкту ст. викладач Алещенко О .В ,

(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)

затверджені наказом по університету від ______ 202_ року №_____

2. Термін здачі студентом закінченого проєкту 3. Вихідні дані до проєкту К лієнтський інтерфейс. База дани х PostgreSQL . Мова програмування Java .

4. Зміст розрахунково-пояснювальної записки (перелік питань, які розробляються) Аналіз існуючих CRM систем, розробка програмного продукту.

5. Перелік графічного матеріалу (з точним позначенням обов’язкових креслень) функціональна схема, принципова схема , структурна схема.

(3)

Розділ Консультант Підпис, дата

Завдання видав Завдання прийняв Нормо-контроль Сімоненко В. П. проф.

7. Дата видачі завдання_______________________________________________

Календарний план

№ з/

п

Назва етапів виконання дипломного проєкту

Термін виконання

етапів проєкту Примітка 1. Затвердження теми проєкту 10.12.2020-15.12.2020

2. Вивчення та аналіз завдання 15.12.2020-15.03.2021 3. Розробка архітектури та загальної

структури системи

15.03.2021-25.03.2021 4. Розробка структур окремих

підсистем

25.03.2021-05.04.2021 5. Програмна реалізація системи 05.04.2021-15.04.2021 6. Оформлення пояснювальної записки 15.04.2021-20.05.2021 7. Захист програмного продукту 25.04.2021

8. Передзахист 23.05.2021

9. Захист 14.06.2021

Студент-дипломник

(підпис)

Керівник проєкту

(підпис)

(4)

Анотація

В бакалаврському дипломному проєкті реалізовано CRM систему обліку й оренди нерухомості.

Програма надає можливість створення та ведення обліку об’єктів, клієнтів та контрагентів у системі, з можливістю перегляду статистики по угодам. Серверна частина реалізована на мові програмування Java з використанням вебфреймворку Spring. Для написання клієнтської частини додатку використовувалася мова програмування JavaScript з використанням вебфреймворку React.

Annotation

In this project for a Bachelor's Degree, CRM system for real estate accounting and management is realized.

The program provides the ability to create and maintain records of objects, clients and counterparties in the system, with the ability to view statistics on the deals. The server part is implemented in the Java programming language using the Spring web framework. Client part of the application is implemented with JavaScript programming language using the React web framework.

(5)

ОПИС АЛЬБОМУ

(6)

Змн

. Арк. № докум. Підпис Дата

Арк.

ІАЛЦ.467200.001 ОА

Розроб. Фролов М.К.

Алещенко О.В. CRM система обліку й оренди

Літ. Акрушів

справки Формат Значення Найменування

Кіл. листів екземпляра

Документація загальна Знову розроблена

А4 ІАЛЦ.467200.001 ОА

CRM система обліку й оренди 1

нерухомості Опис альбому

А4 ІАЛЦ.467200.002 ТЗ CRM система обліку й оренди 3 нерухомості

Технічне завдання

А4 ІАЛЦ.467200.003 ПЗ

CRM система обліку й оренди 62

нерухомості Пояснювальна записка

А4 ІАЛЦ.467200.004 Д1 CRM система обліку й оренди 1 нерухомості

Схема принципова

А4 ІАЛЦ.467200.005 Д2 CRM система обліку й оренди 1 нерухомості

Cхема функціональна

А4 ІАЛЦ.467200.007 Д3

CRM система обліку й оренди 1 нерухомості

Cхема структурна

(7)

ТЕХНІЧНЕ ЗАВДАННЯ

(8)

Змн

. Арк. № докум. Підпис Дата

Арк.

ІАЛЦ.467200.001 ОА

Розроб. Фролов М.К.

Алещенко О.В. CRM система обліку й оренди

Літ. Акрушів

Технічне завдання Зміст

1. НАЙМЕНУВАННЯ ТА ОБЛАСТЬ ВИКОРИСТАННЯ...2

2. ПРИЧИНИ ДЛЯ РОЗРОБКИ...2

3. ЦІЛЬ ТА ПРИЗНАЧЕННЯ РОЗРОБКИ...2

4. ДЖЕРЕЛА РОЗРОБКИ...2

5. ТЕХНІЧНІ ВИМОГИ...3

5.1 ВИМОГИ ДО ПРОДУКТУ, ЩО РОЗРОБЛЯЄТЬСЯ...3

5.2 ВИМОГИ ДО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ...3

5.3 ВИМОГИ ДО АПАРАТНОЇ ЧАСТИНИ...3

6. ЕТАПИ РОЗРОБКИ...4

(9)

Змн Арк. № докум. Підпис Дата

ІАЛЦ.467200.001 ОА

1. НАЙМЕНУВАННЯ ТА ОБЛАСТЬ ЗАСТОСУВАННЯ

Це технічне завдання поширюється на розробку CRM системи обліку й оренди нерухомості.

Область застосування – застосовуються рієлторами або рієлторськими компаніями.

2. ПІДСТАВИ ДЛЯ РОЗРОБКИ

Підставою для розробки є завдання на виконання бакалаврського проєкту по освітньо-професійної програми “Комп’ютерні системи та мережі”

спеціальності 123 “Комп’ютерна інженерія”, затверджене кафедрою Обчислювальної техніки Національного технічного Університету України

“Київський Політехнічний інститут імені Ігоря Сікорського”.

3. МЕТА ТА ПРИЗНАЧЕННЯ РОЗРОБКИ

Метою даного проєкту є розробка CRM системи обліку й оренди нерухомості.

4. ДЖЕРЕЛА РОЗРОБКИ

Джерелами розробки є науково-технічна література по мовам JavaScript, Java, SQL. Публікації в Інтернеті з цих питань, форуми, документації.

(10)

Змн

. Арк. № докум. Підпис Дата

Арк.

ІАЛЦ.467200.001 ОА

Розроб. Фролов М.К.

Алещенко О.В. CRM система обліку й оренди

Літ. Акрушів

5. ТЕХНІЧНІ ВИМОГИ

5.1. Вимоги до продукту, що розробляється

 Розробка архітектури по сучасним тенденціям якості

 Створення продуманого та гарного інтерфейса

 Незалежність від іншого програмного забепечення 5.2. Вимоги до програмного забезпечення

 Операційна система MS Windows 10, Linux-дистрибутиви.

 Java 8 та новіші версії

 PostgreSQL 12 та новіші версії

 JavaScript стандарту ES2017 та новіші стандарти

5.3. Вимоги до апаратної частини

 Процесор рівня Intel i5 і вище.

 Оперативна памʼять не менше 4 ГБ.

 Вільне місце на жорсткому диску не менше 500 МБ.

6. ЕТАПИ РОЗРОБКИ

Дата

Вивчення літератури 20.12.2020

Створення та узгодження технічного завдання 15.01.2021

Вивчення літературних джерел 27.01.2021

Розробка технічного завдання 15.04.2021

Розробка програмної моделі 01.05.2021

Відлагодження програми та виправлення помилок 15.05.2021 Оформлення документації дипломного проєкту 06.06.2021

(11)

Змн Арк. № докум. Підпис Дата

ІАЛЦ.467200.001 ОА

Пояснювальна записка

до дипломного проєкту

на тему: «CRM система обліку й оренди нерухомості»

Київ – 2021 року

(12)

ЗМІСТ

СПИСОК СКОРОЧЕНЬ 3

РОЗДІЛ 1 6

1.1 Поняття CRM систем 6

1.2 Аналіз існуючих програмних рішень 12

1.2.1 Система Plektan

12

1.2.2 Модуль для рієлторів в amoCRM

15

1.2.3 Real Estate CRM

18

ВИСНОВКИ ДО РОЗДІЛУ 1 20

РОЗДІЛ 2 21

2.1 Обґрунтування вибору типу програмного забезпечення 21

2.2 Огляд frontend технологій 22

2.2.1 React

22

2.2.2 Angular

24

2.3 Огляд backend технологій 25

2.3.1 Мова програмування Java

25

2.3.2 Мова програмування Python

30

2.4 Огляд систем управління базами даних 33

2.4.1 PostgreSQL

34

2.4.2 MySQL 34

ВИСНОВКИ ДО РОЗДІЛУ 2 36

(13)

РОЗДІЛ 3 37

3.1 Архітектура системи 37

3.2 Захищеність даних 39

3.3 Структура бази даних 40

3.4 Структура клієнтської частини 45

3.5 Структура серверної частини 45

ВИСНОВКИ ДО РОЗДІЛУ 3 49

РОЗДІЛ 4 50

4.1 Власник компанії 50

4.2 Агент компанії 59

ВИСНОВКИ ДО РОЗДІЛУ 4 60

ВИСНОВОК 61

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ...62

(14)

СПИСОК СКОРОЧЕНЬ

CRM (Customer Relationship Management) – система для автоматизації процесів взаємодій з клієнтами.

UI (User interface) – користувацький інтерфейс.

UX (User experience) – користувацький досвід.

SQL (Structured Query Language) – мова запитів для баз даних.

ACID (atomicity, consistency, isolation, durability) – набір правил в базах даних в транзакційниї системах .

HTTP (HyperText Transfer Protocol) – протокол передачі даних.

CSS (Cascading Style Sheets) – текст програми для опису стилю програми.

SPA (Single Page Application) – вебсторінки з одним HTML-файлом.

JVM (Java Virtual Machine) – віртуальна машина Java.

JDK (Java Development Kit) – набір інструментів, в який входить компілятор, стандартна бібліотека класів та JRE.

JRE (Java Runtime Environment) – реалізація віртуальної машини Java.

ООП (Об’єктно-орієнтоване програмування) – парадигма програмування.

REST (Respresentational State Transfer) – архітектурний стиль, що визначає взаємодію компонентів в системі розподілених мереж.

API (Application Programming Interface) – інтерфейс створення програмного забезпечення.

JSON (JavaSctipt Object Notation) – формат даних, при запитах. Легко читається людиною.

СУБД – системи управління базами даних.

AWS (Amazon Web Services) – хмарні сервіси, які розроблує компанія Amazon.

(15)

EC2 (Elastic Compute Cloud) – сервіс для оренди віртуального серверу.

RDS (Relational Database Service) – сервіс для розміщення бази даних JWT (JSON Web Token) – стандарт створення токенів доступу.

(16)

ВСТУП

Сучасне українське суспільство можна охарактеризувати як капіталістичне. Однією з характеристик капіталістичного середовища є наявність в ньому великої кількості підприємців різних категорій, але специфіка їхньої роботи майже не відрізняється одна від одної.

Багатозадачність є обов’язковим критерієм перемоги прямих та непрямих конкурентів для власників бізнесу та запорукою успіху у досягненні кар’єрних починань для їхніх працівників. Але не кожна людина має навичку вирішення декількох проблем одночасно, адже це вимагає від неї неймовірно дуже гарної пам’яті, щоб тримати все в голові. Також підприємці стикаються с низкою інших проблем щодня: ризик втрачених угод чи частини або повного об'єму клієнтської бази, некоректної звітності чи помилкових рішень та навіть такого неприємного явища як «бізнес у бізнесі».

Проте вже існує вирішення даних проблем. Цим вирішенням є CRM (Customer Relationship Management), яка була обрана в якості теми для дослідження в рамках цієї наукової роботи. Ця система – програмне забезпечення, створене для того, щоб упорядкувати та автоматизувати процеси, пов’язані з обслуговуванням клієнтів.

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

Зважаючи на це, я обрав темою свого дипломного дослідження «CRM система обліку й оренди нерухомості».

Проаналізувавши всі українські CRM системи, порівнявши їх між собою, я виділив чимало переваг і недоліків та взяв їх до уваги при розробці власної.

(17)

РОЗДІЛ 1

АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ІСНУЮЧИХ РІШЕНЬ 1.1 Поняття CRM систем

CRM – це керування взаємин з клієнтами. Система CRM – програмне забезпечення, створене для того, щоб упорядкувати та автоматизувати процеси, пов’язані з обслуговуванням клієнтів.

CRM-модель сфокусована, як правило, на клієнті. Головна мета такої системи - забезпечити всі умови задля того, щоб користувачу було максимально комфортно, а його потреби були задоволені в найшвидший та найефективніший спосіб. Також діяльність CRM-моделі покриває такі важливі аспекти роботи як забезпечення збільшення продажів та ефективності маркетингу. Ці цілі є вторинними, але все ж доволі важливими та вагомими.

CRM - це підхід до управління, модель, яка поміщає клієнта в центр бізнес-процесів і методів роботи компанії. CRM надає найсучаснішу технологію, об'єднану зі стратегічним плануванням, методами маркетингу, організаційними і технічними засобами. Якщо клієнтська база компанії широка, то без потужного програмного забезпечення і серверів управляти відносинами з клієнтами обійтись просто неможливо. Але програма CRM - це інструмент, вона, на жаль, не може вплинути на лояльність споживачів. З одного боку, маючи хороший інструмент, побудувати лояльність простіше.

Однак з іншого боку, просто купивши CRM систему, компанія не може здобути лояльність клієнтів. Тому необхідно не просто впровадження програми, а саме детальна підготовка персоналу і стимулювання роботи саме з цим програмним продуктом. На мою думку, розвитку CRM-концепції в сучасній Україні заважає ряд причин, які, у свою чергу, можна класифікувати на три загальні групи:

(18)

1. Відсутність мінімального або необхідного мінімуму розуміння необхідності впровадження CRM-системи;

2. Відсутність відповідного кваліфікаційного навчання для персоналу, що має працювати із системою, а також пост контролю застосування цих знань та навичок;

3. Недостатній рівень впровадження маркетингових досліджень.

CRM системи мають таку класифікацію:

1. Операційні CRM - системи, в яких автоматизуються процеси продажів і маркетингу, ведеться оперативна робота, зберігаються угоди і документи. Звітність в таких системах не являє собою основну функціональність. Фіксується кожний крок угод по воронці продажів (рис. 1.1), яка показує теоретичний шлях поведінки користувача при покупці певного товару. Головна задача - це не втратити клієнта та підвищити лояльність в процесі контакту з ним;

2. Аналітичні CRM - системи, в яких переважає аналітика та її аналіз. Це є системи з гнучкими звітами, які можуть бути частиною основного продукта, або скориговані під конкретного користувача за його конкретними потребами та особливостями. Як правило, це коштовні рішення, які підходять для складної інтеграції, наприклад, з білінгом стільникового оператора або платіжною системою інтернет-магазину.

Буває, що аналітична CRM не містить частини функцій управління продажами, маркетингом і процесами, а служить для цілей сегментації та управління асортиментом;

(19)

3. Стратегічні CRM - системи, заточені під комунікації, спільну роботу, в тому числі з клієнтами і партнерами. У таких CRM-системах може передбачатися особистий кабінет клієнта, внутрішня соціальна мережа, корпоративний портал. В стратегічних CRM розвинений набір можливостей для управління проєктами та завданнями.

Рисунок 1.1 – Приклад воронки продажів

Для початку керівникам компаній потрібно визначитися з тим: чи розробляти CRM-систему з нуля конкретно під обраний бізнес, чи скористатися готовим рішенням. Зазвичай, перший варіант обирають саме

(20)

великі компанії, під їх спеціалізовані завдання. Створення такого програмного забезпечення займає місяці, це залежить від об'єму роботи.

Якщо казати про вартість, то кількість функціоналу буде визначним критерієм при підбиванні кінцевої ціни продукту, який буде необхідний.

Починатися ця ціна буде від декількох десятків тисяч доларів. Другий варіант - це готові рішення, які є набором стандартних функцій. Але, не дивлячись на такий уніфікований функціонал, дані системи часто бувають корисні, адже вміють адаптуватися під потреби та запити конкретного клієнта. На даний момент існують коробкові або вебсерверні рішення. При купівлі вебсерверного рішення передбачається плата за доступ до ресурсу і в будь-який момент, при потребі в додаткових функціях (наприклад при збільшенні штату), ви можете змінити тариф на інший. У цьому випадку є можливість доступу з будь-якого комп'ютера через браузер. При купівлі коробкового рішення спеціальні фахівці встановлюють програму на комп'ютери.

Завдяки гнучкості і низькій вартості вебсерверні рішення використовуються частіше, адже зазвичай є більш вигідними. Прикладами вебсерверних CRM-систем: AmoCRM, Бітрікc24, Salesforce, Plektan.

Варто зазначити, що на даний момент багато великих компаній- монополістів впевнені, що клієнт нікуди від них не дінеться, і тому на CRM системи немає потреби витрачатися. А у дрібних фірм часто не вистачає ресурсів, сміливості і чіткості в стратегії, щоб впровадити CRM системи і кинути виклик лідерам ринку. Через відсутність розуміння необхідності даної системи у керівництва компаній складається негативне ставлення до впровадження CRM системи.

Не можна обійти стороною той факт, що подібні системи не можуть збільшити кількість продажів миттєво та без затрат. Головною проблемою, як правило, не є виключно система, проблема - люди, які її використовують.

Постає питання засвоєння CRM персоналом. Часто буває, що люди, у силу багатьох факторів, не можуть зрозуміти в чому полягає перевага цього

(21)

методу організації робочого процесу, просто не використовують або не хочуть використовувати всі його можливості. Це може призвести до низки проблем від непорозумінь в команді до зниження ефективності роботи. Саме тому варто витратити певний час на залучення працівників у ази специфіки використання системи. Це дасть можливість показати кожному працівнику (бажано на конкретних прикладах), як CRM може спростити їм професійне життя, налагодити та вдосконалити систему організації праці та принести додатковий дохід компанії.

Якщо продовжувати тему недоліків, я хочу виділити також програмні збої. Оскільки вся робота проходить через систему, при будь-яких проблемах із програмним забезпеченням - всі процеси можуть бути пригальмовані або ж взагалі зупинитися. На жаль, це призводить до колосальних збитків. Але, на щастя, ця проблема може бути попереджена правильною розробкою та тестуванням зі сторони розробників.

Для того, щоб використовувати максимум функціонала, потрібно платити значні кошти. Як правило є безкоштовні версії, але зі обмеженим функціоналом, що також призведе до витрати грошей на його розширення.

Окрім цього є можливість значно зекономити: обираючи пакет оплати на півроку чи більше, клієнт зберігає значну суму (у порівнянні із щомісячною оплатою). Тобто при завчасній оплаті користувач буде мати, хоча й невелику (проте значну при користуванні довгостроково), але знижку.

Серед переваг CRM також варто відзначити можливість отримання звітів в режимі онлайн. Інструментарій продукту дозволяє:

1. Відстежувати роботу кожного співробітника або відділу компанії в цілому;

2. Аналізувати і коригувати етапи воронки продажів;

3. Розподіляти навантаження, планувати відпустки і графік роботи співробітників.

(22)

За допомогою CRM керівник компанії може проконтролювати хід робочих процесів або поточні дії працівників підприємства. Завдяки модулю наскрізної аналітики можна відстежити шлях клієнта від етапу заходу на сайт до завершення покупки, після чого скорегувати воронку продажів або видалити неефективні рекламні канали. Подібний рівень контролю позитивно відображається на ефективності співробітників і збільшує якість роботи з клієнтами.

Ще одна перевага CRM - можливість оптимізувати і автоматизувати внутрішні процеси компанії:

1. Система повідомить менеджерів компанії про необхідність зробити важливий дзвінок або нагадає про закінчення терміну активного завдання - всі дії фіксуються в базі CRM, а також календарі співробітників;

2. Спростити ведення документообігу компанії - використання шаблонів і скриптів дозволяє полегшити бухгалтерський облік, автоматично розрахувати вартість доставки замовлення. Завдяки CRM документи формуються за готовим шаблоном і автоматично заповнюються даними про клієнта в міру просування угоди;

3. Перекладати угоди по етапах воронки продажів - система формує нові завдання для менеджерів при переході угоди на новий етап, автоматично закриває виконані угоди, відповідає за нагадування і розсилку повідомлень;

4. Запускати розсилки по готовим сценаріями і стимулювати додаткові продажі. Наприклад, повідомляти про сезонні розпродажі або пропонувати знижку на товари, що входять до списку переваг клієнта;

Це знижує навантаження на менеджерів і мінімізує появу помилок через завантаженість або неуважності працівників. Автоматизація рутинних процесів дозволяє сконцентрувати увагу співробітників компанії на поточних операціях і збільшити ефективність роботи відділу продажів.

(23)

1.2 Аналіз існуючих програмних рішень

Після детального аналізу можна зробити висновок, що на даний момент на українському ринку не так багато CRM систем, спеціалізованих під рієлторську сферу діяльності.

Хотілося бы порівняти існуючі українські системи за такими критеріями як:

1. Вартість кожної з них, з оглядом на доступний функціонал, при наявності у різних тарифних пакетах;

2. Наявний функціонал і можливість додаткового розширення;

3. Переваги та недоліки, порівнюючи з іншими системами на українському ринку.

1.2.1 Система Plektan

На офіційному сайті компанії Plektan можна знайти таку інформацію:

«Інформаційно керуюча система Plektan - це набір інструментів, що дозволяє досягти зростання числа клієнтів і збільшити конверсію при роботі з ними.

Це програмний комплекс, де всі агенти з нерухомості мають єдиний робочий простір.»[1] У ньому зберігається вся інформація про покупців і продавців нерухомості, необхідна для роботи агента. Система має чотири тарифних пакета:

1. Start (399 гривень за кабінет);

2. Econom (299 гривень за кабінет, але мінімум 2 кабінета);

3. Standard (289 гривень за кабінет, але мінімум 10 кабінетів);

4. Premium (259 гривень за кабінет, але але мінімум 50 кабінетів).

Головні можливості Plektan:

1. Автоматична розсилка пропозицій клієнтам;

2. Email та SMS повідомлення;

3. Планування робочого часу в системному календарі;

4. Статистика і моніторинг;

(24)

5. Автопідбр варіантів;

6. Автоматичний експорт оголошень на портали;

7. Персональний сайт агента.

Кожен новий тарифний план має свої переваги над попереднім.

Наприклад підтримка по телефону, статистика та інші. Також система підтримує можливість створення корпоративного сайту вашої компанії за додаткову плату.

Переваги:

1. Доступна ціна;

2. Тридцять днів безкоштовного періоду;

3. Зручне розширення для парсинга інформації зі сторонніх сайтів і автоматичного додавання об'єктів в систему (Але список сайтів, що підтримуються вкрай мізерний).

Недоліки:

1. Погано продуманий UI/UX (рис. 1.2), через що потрібно витрачати велику кількість часу на повне ознайомлення з можливостями системи та налагодженням всіх процесів спеціально для вашої компанії;

2. Низька швидкість роботи системи, що може й призвести до втрати клієнта, адже вчасний контакт з ним може спонукати вести роботу саме з вашою рієлторською компанією, а не конкурентами;

3. Нестабільність роботи, аж до повної відмови системи. Часто з’являється помилка, що відсутнє з’єднання з інтернетом, хоча воно наявне та стабільне. Приходиться витрачати час на те, щоб видалити cookie (деякий фрагмент даних, який зберігається на вашому комп’ютері) та очистити кеш браузера. Не завжди ці способи можуть допомогти, через що приходиться просто очікувати на відновлення роботи;

4. Незручний API. Всі дані відправляються тільки через POST запроси, що не є правильним рішенням, адже для різних цілей є різні методи

(25)

HTTP запросів. Окрім цього, дані відправляються в multipart/form-data, тобто частинами. Зазвичай розробники використовують такий тип відправлення для файлів, а для звичайних параметрів краще використати application/json. Всі відповіді приходять в HTML, що не є зручним для візуального сприйняття;

5. Погана документація. Для того, щоб зробити інтеграцію з вашим сайтом чи будь-яким додатком потрібно витратити декілька днів на повне осмислення всієї неструктурованої інформації. Деяка інформація може бути відсутньою і отриманою тільки при зверненні до технічної підтримки Plektan;

6. Відсутність багатьох важливих функцій, таких як карта чи повідомлення про нові об'єкти;

7. При зверненні до технічної підтримки може скластися враження, що їм байдуже на вас. Часто буває так, що очікуєш відповідь декілька днів і отримуєш повідомлення про те, що мені поки що не можуть допомогти і потрібно очікувати на новини від команди розробників, які часто не мають бажання допомагати в покращенні функціоналу;

8. Незахищеність бази даних. На одне з повідомлень технічна підтримка все ж відповіла. У цьому повідомленні йшлося про те, що підтримка продивилася деяку інформацію з моєї особистої бази даних. На мою думку, це не припустимо та може розцінюватись як відсутність будь- якої політики конфіденційності;

(26)

Рисунок 1.2 – Інтерфейс програми Plektan [1]

1.2.2 Модуль для рієлторів в amoCRM

AmoCRM - система, яка допомагає організувати відділ продажів.

Потрапити в систему можна з будь-якого браузера. Система дозволяє контролювати роботу менеджерів, фіксувати всі заявки і запити клієнтів, вести облік усіх операцій компанії, клієнтів і продажів.

AmoCRM підтримує можливість розширення функціоналу багатьма модулями чи віджетами від ключових показників в Google-таблицях, до інтеграцій з відомими сервісами: HeadHunter, Linkedin.

В свою чергу компанія RocketSales вирішила зробити модуль для агентів нерухомості на основі amoCRM. Ця компанія являється відомим розробником модулів для amoCRM, тому вони зібрали найгостріші проблеми рієлторів і спробували вирішити в цьому модулі. Модуль від RocketSales містить всі звичайні функції CRM системи для рієлторів.

Переваги:

1. Можливість підключення додаткових сторонніх модулів. Ця можливість стає доступною, бо основою усіх модулів виступає саме

(27)

amoCRM. Слід зазначити, що майже всі з них є платними і не входять в основний продукт;

2. Дизайн сторінок виконаний таким чином, що користувачу інтуїтивно зрозуміло де та що потрібно натиснути, щоб досягнути цілі. У цілому інтерфейс (рис. 1.3) можна назвати комфортним та влучним, не дивно, що компанія уніфікувала його для всіх своїх модулів. Ця стандартизація стала також вагомою перевагою для розробників, адже їм не потрібно щось змінювати кожного разу при додаванні нового модулю. AmoCRM має уніфікований інтерфейс для всіх модулів, тому розробникам модуля для рієлторів не було потрібно щось змінювати.

Недоліки:

1. Низька кількість доступних сайтів для можливості вивантаження об’єктів на них. Для рієлторів важливо, щоб оголошення було вивантажено на певні сайти та ресурси у найшвидший шлях. Це значно скорочує час їх роботи (не доводиться виконувати одні й ті самі дії для кожного ресурсу окремо);

2. Оманлива, на перший погляд, ціна. Потрібно чітко зрозуміти, що модуль для рієлторів це не окремий продукт, а тільки розширення готового – amoCRM. Але виходячи з інформації на сайті, це не так чітко зрозуміло. Тільки прискіпливий користувач зможе одразу розібратися у тонкощах складання кінцевої ціни та цілком ціноутворення;

3. Немає української локалізації.

(28)

Рис. 1.3 – Інтерфейс модуля для рієлторів в amoCRM [2]

Система має три тарифних пакета:

1. Базовий (299 грн.). Цей тариф включає в себе управління продажами і лідами, аналітику, інтеграцію с популярними месенджерами. Але є деякі обмеження. Так, наприклад, кожен користувач буде мати тільки 500 угод та зберігання розширеної історії протягом одного місяця. Всі ці обмеження будуть зменшуватися у кожному наступному пакеті;

2. Розширений (599 грн.). Цей пакет покриває більше функціоналу, ніж попередній тарифний план. Окрім збільшення лімітів низки показників, додаються можливості у вигляді конструктора особистого кабінету та налаштувань реакцій на ключові дії (створення задач, відправлення webhook, показ форми);

3. Професійний (899 грн.). Це повний пакет, який містить у собі всі можливості даної CRM системи.

Окрім цих пакетів, додатково доведеться придбати сам модуль, вартість якого складає 400 гривень на місяць за одного співробітника.

(29)

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

1.2.3 Real Estate CRM Тарифи системи:

1. Перший тариф - безкоштовно до трьох користувачів, але з обмеженнями в кількості угод до 100, об’єктів до 800, неповна аналітика;

2. Другий тариф - 200 гривень за користувача, з обмеженням до 20 людей.

У цей тарифний план входить більш розширений функціонал, аніж в безкоштовній версії, при цьому знімаються будь-які обмеження у кількості угод та об'єктів;

3. Третій тариф - 180 гривень за користувача, при мінімальній кількості в 21 людину. Цей тарифний план включає все із попереднього пункту, але не додає нового функціоналу.

Real Estate CRM обладає наступними перевагами:

1. Шаблонізатор документів дозволяє скласти, роздрукувати і відправити клієнту договір за 30 секунд (за наявною заявкою);

2. Система безперервно відстежує об'єкти і заявки всіх агентів і миттєво сповіщає співробітників про появу нових відповідних варіантів для пропозиції клієнтові;

3. Час від прийому дзвінка клієнта до відправки йому на пошту комерційної пропозиції складає до 3 хвилин;

4. СРМ система допомагає рієлтору на всіх етапах здійснення угоди, що призводить до зростання успішно завершених заявок на 20%;

5. Завдяки менеджеру завдань в два рази скорочується число «забутих», невиконаних або прострочених доручень;

6. Низька вартість (описана вище в тарифах системи);

(30)

7. Тестовий період на 14 днів, який включає всі функції з найкращого тарифного плану.

Недоліки Real Estate CRM:

1. Невдало обраний дизайн програми (рис. 1.4), через що складно зрозуміти як правильно використати наявний функціонал;

2. Налоги не входять у вартість тарифного плану;

3. Контракт можна підписувати тільки на один рік, що виключає можливість щомісячної оплати. Також при оформленні річної підписки немає жодних знижок;

4. Немає української мови.

Рисунок 1.4 – Інтерфейс програми Real Estate CRM [3]

За інформацією розміщеною на сайті даної системи, за півроку користування:

1. Колектив агентства нерухомості зростає в середньому з 5 до 11 співробітників;

2. Кількість успішних угод зростає з 1,2 до 2,2 угод на агента в місяць;

3. Число ексклюзивних договорів зростає на 45%.

(31)

ВИСНОВКИ ДО РОЗДІЛУ 1

У розділі 1.2 було проведено аналіз існуючих систем, які допомагають рієлторам чи керівникам компаній налагодити їхню роботу та оптимізувати бізнес процеси. Також було досліджено всі наявні проблеми та взято до уваги існуючі переваги кожної з систем. На основі цих досліджень було сформовано список функціональних вимог:

1. Система повинна забезпечити можливість реєстрації, аутентифікації та авторизації користувачів;

2. Реалізувати можливість створення власником компанії нових співробітників;

3. Додати опцію ведення та додавання об’єктів та клієнтів компанії;

4. Створити канбан дошку для ведення угод (з можливістю перенесення задач із однієї колонки у іншу);

5. Реалізувати можливість налаштування профіля;

6. Створити сторінку зі статистикою (воронка продажів, оренда та продажі за місяць, нові клієнти та дохід за 7 місяців).

(32)

РОЗДІЛ 2

АНАЛІЗ МОВ ПРОГРАМУВАННЯ ТА ТЕХНОЛОГІЙ РОЗРОБКИ ВЕБДОДАТКІВ

2.1 Обґрунтування вибору типу програмного забезпечення

Розробка CRM системи для потреб рієлторів, як було описано у першому розділі, може бути виконана у два шляхи: standalone, тобто десктопний варіант, чи розробка хмарного додатку. Розглянемо недоліки й переваги кожного з цих варіантів.

Переваги хмарного додатку:

1. Доступ з будь-якого комп’ютера, за наявності інтернета;

2. Легше в розробці через універсальність, адже не потрібно турбуватися про особливості кожної операційної системи;

3. Автоматичні оновлення. Не потрібно встановлювати нові функції окремо на кожному комп’ютері.

Недоліки хмарного додатку:

1. Необхідність доступа до мережі інтернет. Без цього відсутня можливість використання додатку;

2. Можлива загроза безпеці. Дані зберігаються на сторонніх серверах, тому завжди є ризик втрати даних.

Переваги десктопного додатку:

1. Немає необхідності у доступі в інтернет;

2. Безпека даних;

3. Краща продуктивність.

Недоліки десктопного додатку:

1. Великі витрати на розробку під конкретну операційну систему;

2. Ручні оновлення нової функціональності;

3. Немає доступу до програми з іншого місця, крім вашого персонального комп’ютера.

(33)

З огляду на усі переваги та недоліки технологій, перелічені вище, я дійшов до певних висновків щодо виконання розробки мого дипломного проєкту. Перш за все, я визначив, що раціональніше всього буде розробляти CRM систему саме у вигляді вебдодатку.

2.2 Огляд frontend технологій

Frontend - це лицьова частина додатку, тобто сам інтерфейс, через який йде взаємодія з серверною частиною.

Frontend розробка складається з трьох основних компонентів:

1. HTML (HyperText Markup Language). Це мова гіпертекстової розмітки, яка інтерпретується браузерами і, після цього, виводить текст на екрани користувачів;

2. CSS (Cascading Style Sheets). Це мова стилізації зовнішнього вигляду.

Браузер чітко розуміє, як саме повинні розміщуватися елементи, які потрібно застосувати кольори, шрифти, тіні;

3. JavaScript. Це мова програмування, яка не нав’язує програмісту якусь конкретну парадигму, а дозволяє використовувати саме ту, яка йому необхідна. JavaScript підтримує як функціональне програмування, так і об’єктно-орієнтоване.

Вебфреймворк - це програмна платформа для розробки веб-додатків та веб-сайтів. Вони пропонують широкий спектр заздалегідь написаних компонентів, фрагментів коду та цілих шаблонів програм. Ми можемо змінити ці функції за допомогою додаткового програмного тексту, що дозволяє розширювати вже існуючі компоненти. Я пропоную розглянути два найпопулярніші frontend вебфреймворка.

2.2.1 React

Це технологія з відкритим текстом програми, яка була розроблена компанією Facebook у 2013 році. React використовується для створення

(34)

інтерфейсів для SPA (single page application), розділяючи інтерфейс на компоненти [6]. Хочу звернути увагу на переваги цієї технології:

1. Легкість вивчення. React взаємодіє тільки з самим шаром перегляду. З базовими знаннями JavaScript розробники можуть починати працювати з React, після декількох днів читання посібника;

2. Повторне використання компонентів. Структура React базується на основі компонентів. Спочатку потрібно створювати маленькі компоненти, наприклад кнопки. Далі, застосовуючи додаткову логіку і поєднавши її в один контейнер з кнопкою, ми отримуємо новий компонент. Тобто, щоразу ми пишемо контейнери обгортки допоки останній компонент не стане додатком. Кожен компонент має свою внутрішню логіку, яку можна розширити за бажанням;

3. Швидкий рендер за допомогою віртуального DOM. Оновлення DOM все ще є складним і тривалим процесом, коли справа стосується вебпродуктивності. React намагається вирішити цю проблему, використовуючи віртуальний DOM. Спочатку зміни відображаються саме у віртуальному DOM, а тільки потім спеціальний алгоритм порівнює попередній та поточний стани віртуального DOM і обчислює найкращий спосіб для застосування змін, тобто шукає найменшу кількість необхідних оновлень;

4. Підтримка рендерингу на сервері за допомогою Next.js - вебфреймворк написаний поверх React;

5. Велика кількість менеджерів стану (Redux, Flux, Mobx, Undux, Sagas), на відміну від інших frontend вебфреймворків, таких як Vue чи Angular.

Недоліки:

1. JSX. Це розширення мови програмування JavaScript. Хоча таке розширення синтаксису полегшує життя розробників, нерідко можно почути, що деякі веброзробники вважають текст програми JSX занадто складним та важким для сприйняття;

(35)

2. Скудна документація. Через швидкий розвиток розробники React не мають часу на детальну документацію. Деякі програмісти намагаються самотужки випускати інструкції за новими оновленнями.

2.2.2 Angular

Angular - це вебфреймворк, який побудовано на основі мови програмування TypeScript у 2010 році компанією Google. Як і React, розробники використовують Angular для створення SPA.

Переваги використання Angular:

1. Двостороння прив'язка даних. Angular побудований с архітектурою MVC (Model-View-Controller). Вебфреймворк синхронізує дані між Model та View, тобто коли щось змінюється в Model, тоді у View також.

Двостороння прив’язка даних дозволяє розробникам не замислюватися над додатковими шляхами синхронізації;

2. Dependency injection (Ін’єкція залежності). Компоненти багаторазові, прості в керуванні та тестуванні саме за допомогою патерна ін’єкції залежності;

3. Велика спільнота. Оскільки Angular є доволі популярним вебфреймворком серед розробниками, існує велика кількість добре продуманих навчальних матеріалів, дискусій та сторонніх інструментів, що дає змогу знайти рішення майже для будь-яких проблем.

Недоліки:

1. Швидкість роботи. Використання двосторонньої прив’язки даних може призводити до втрат в продуктивності, оскільки браузер зайнятий маніпуляцією елементами DOM і займає багато обчислювальних ресурсів. Також складні SPA можуть мати проблеми зі швидкістю через їх розмір;

2. Міграція. Нові релізи інколи супроводжуються проблемами, що виникають через неповну сумісність з застосунками розроблених на

Посилання

СУПУТНІ ДОКУМЕНТИ

Отже слід простежити динаміку поголів’я тварин та птиці за 1990-2007 рр. Аналогічна ситуація із яловичиною за на 1 жовтня 2008 року чисельність

У роботах даних вчених було доведено, що пам’ять – це психологічна основа особистості, це психічний процес, відображення досвіду

Сервером бази даних виступає Azure SQL Server, який бере на себе навантаження з обробки запитів до бази даних, що знижує

керівника центру кар’єри та працевлаштування, який потім додає їх вручну до бази даних, але ніякої електронної системи для перегляду та передачі

використовувати бази даних реляційного типу для створення інформаційного підґрунтя для ІС менеджера; основні принципи роботи в

JDBC - це API для мови програмування Java, який визначає, як клієнт може отримати доступ до бази даних. Він надає методи запиту та оновлення

Програмні засоби системи, що використовує аудитор під час проведення аудиту, повинні забезпечувати аналіз вмісту бази бухгалтерських даних, контроль

The study of the prospects for the development of organic production in a market envi- ronment is carried out in the following logical sequence: the features of

«педагогічна технологія» говорить про те, що педагогіка знаходиться на шляху переосмислення і розвитку всього освітнього процесу, понятійної і

По-друге, як ми побачили, більшість методів, що пропонуються в якості новітніх методів роботи з великими масивами даних – це методи не

Для джерел даних, що реалізовані у СУБД, застосовано автоматизований підхід зі створення моделей даних шляхом отримання структури бази даних в

Найбільш значимими серед них, на нашу думку, є ігнорування педагогами недостатньої «зрілості» психічних процесів, даних про

Тому постає питання про те, що робити, якщо доходності ак- тивів не є нормально розподіленими. І як врахувати вплив відхи- лення розподілу даних від

Методичні рекомендації створені з метою надати майбутнім учителям можливості опанувати сучасними інформаційними технологіями та використовувати

то в мовних фактах*, - стверджував О.Фінкель, наголошуючи на тому, що зміст - це не тільки те, що сказано, а й те, чого не сказано, на що

Результати статистичної обробки результатів дослідження атропологічних ознак виборки осіб молодіжної вікової групи дають інформацію про те, що досліджені

Стаття присвячена збору даних з метою оновлення нормативної бази, по розробці спеціального взуття робітників солекопалень, яка є актуальною задачею та

Це вказує на те, що керівництво компанії має не тільки дбати про свій імідж, а й роз- робляти конкурентну компенсаційну політику, виплачувати

Выбрать организацию из списка, можно также выбрать записи, в которых нет информации об организации (Include records that do not contain

Н а сьогоднішній день у всіх країнах світу сфор- мувався ринок нерухомості як система еко- номічних і цивільно-правових відносин, що виникають з

Метою курсової роботи є практичне оволодіння студентами методикою проектування та адміністрування баз даних багаторівневої архітектури “клієнт- сервер” та

й даних про облік основних фондів підприємств із розподілом за групами, що підлягають консервації, відповідно до Положення про організацію

Аналіз існуючих методик, нормативної бази та практичної діяльності свідчить про те, що в Україні, на сього- днішній день, склалась досить