Диплом: Автоматизация процесса взаимодействия с клиентами (CRM) на примере агенства недвижимости

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
96
Заключение
CRM системы сегодня неразрывно связаны с деятельностью любого бизнеса.
Применение автоматизированных информационных технологий позволяет
организациям использовать информацию о клиентах на всех стадиях работы с ними.
В дальнейшем автоматизированная информация поможет извлечь пользу для
бизнеса, то есть использовать статистические знания в своих интересах для
выстраивания взаимоотношений непосредственно между субъектами отношений.
В данной выпускной квалификационной работе было разработано
приложение для автоматизации работы агентства недвижимости, которая позволила
структурировать этапы работы для сотрудника агентства.
Для написания программного продукта для Frontend был выбран
развивающийся прогрессивный JavaScript фреймворк под названием Vue.js. База
данных разрабатывалась на основе MySQL.
В ходе написания выпускной квалификационной работы были решены
следующие задачи:
анализ предметной области;
выявление недостатков существующей организации в обработке
информации;
разработка постановки задачи;
обоснование выбора основных проектных решений;
разработка всех видов обеспечивающих подсистем;
обоснование экономической эффективности проекта.
Разработанное проектное решение представляет собой совокупность
взаимодействующих между собой модулей (интерфейс системы (frontend),
серверная логика (backend) приложения и базы данных). Проект находится в сети
Интернет, это значит, что пользователь сможет получить доступ к системе из любой
точки мира. Для входа в проект используется авторизация на основе
сгенерированного токена. При изменении статуса задач или сделок реализована
смена статусов асинхронно, то есть запросы для смены статусов выполняются
незаметно для пользователя.
97
Результатом применения разработанной CRM системы будет является
повышение конкурентоспособности организации, путем уменьшения трудовых
затрат у сотрудников агентства недвижимости, что повлечет за собой увеличение
прибыли.
Разработанная программа для автоматизации взаимодействия с клиентами
агентства недвижимости является демонстрацией моих профессиональных навыков.
98
Список литературы
1. Автоматизированные информационные системы: учебник для студ.
учреждений сред. Проф. Образования / К.Н. Мезенцев.- 4-е изд., стер.- М.:
Издательский центр «Академия»,2013.- 176 с.
2. Аппаратное обеспечение вычислительных систем / Д.В. Денисов, В.А.
Артюхин, М. Ф. Седненков; под ред. Д.В. Денисова. – М.: Маркет ДС, 2010 –
184 с. (Университетская серия.).
3. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов.
- 2-e изд., испр. и доп. - М.: Форум: ИНФРА-М, 2007. - 400 с.: ил.; 60x90 1/16.
- (Профессиональное образование).
4. Беленькая М.Н., Малиновский С.Т., Яковенко Н.В. Администрирование в
информационных системах. Научно-популярное издание. - М.: Горячая линия
- Телеком, 2011. - 300 с.
5. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование
информационных систем - М.: ИУИТ, 2012 - 300 с.
6. Информационная безопасность и защита информации, Мельников В. П., М.:
Академия, 2012, - 336 стр.
7. Информационные системы: учебник для студ. Учреждений сред. Проф.
Образования/ Г.Н.Федорова. – 3-е изд., стер.-М.:Издательский центр
«Академия»,2013.-208с.
8. Кузнецов С. Д. Базы данных. Модели и языки – М.: Бином-Пресс, 2013 г. - 720
с.
9. Култыгин О.П. Администрирование баз данных. СУБД MS SQL Server. - М:
Московская финансово-промышленная академия, 2012 -232 с.
(Университетская серия).
10. Моделирование информационно-вычислительных процессов:Учеб.пособие
для вузов [Текст] / А.А. Марков. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2012.-
360с.: ил.
11. Основы баз данных / Д.С. Кузнецов. - М, Издательства: Бином. Лаборатория
знаний, Интернет-университет 75 информационных технологий, 2013 . - 488
с.
99
12. Основы локальных сетей: курс лекций: учебное пособие: для студентов вузов,
обучающихся по специальности в обл. информ. технологий/ Ю.В. Новиков,
С.В. Кондратенко.- М.: Ун-т Информ. Технологий, 2015.- 360 с.
13. Основы проектирования баз данных : учеб. пособие / О.Л. Голицына, Т.Л.
Партыка, И.И. Попов. — 2-е изд., перераб. и доп. — М. : ФОРУМ : ИНФРА-
М, 2018. — 416 с. : ил.
14. Технологии и методы программирования: учеб.пособие для студ.
Учреждений высш. проф. образования / Н.В. Анашкина, Н.Н. Петухова, В.Ю.
Смольянинов.- М.: Издательский центр «Академия»,2012.- 384 с. – (Сер.
Бакалавриат).
15. Устройство и функционирование информационных систем. Н. З. Емельянова,
Т. Л. Партыка, И. И. Попов., Учебное пособие. М. : ФОРУМ : НИЦ ИНФРА-
М, 2012. 448 с.
16. Султанова С.Ш., Муталлиева К.И. Информационная база и способы её
организации // Academy.- 2016.- №9 (12). С.6-7.
17. Шлепанов И. Оценка эффективности информационной системы //
Консультант. - 2012. - № 3. - С. 86-89.
18. AmoCRM [Электронный ресурс] // Фирма AmoCRM [Офиц. сайт]. URL:http://
www.amocrm.ru (дата обращения: 02.06.2019).
19. Google документы [Электронный ресурс] // Google документы [Офиц. сайт].
URL:http:// https://www.google.ru/docs/about/ (дата обращения: 02.06.2019).
20. Битрикс24 [Электронный ресурс] // Фирма Битрикс24 [Офиц. сайт].
URL:http://www.bitrix24.ru (дата обращения: 02.06.2019).
100
Приложение
Index.html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>Crm Агентство</title>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>
<body>
<noscript>
<strong>У вас отключен JavaScript. Включите его для дальнейшей работы.</strong>
</noscript>
<div id="app"></div>
</body>
</html>
App.vue
<template>
<v-app>
<NavigationDrawer v-if="!$route.meta.ui"></NavigationDrawer>
<HeaderTemplate v-if="!$route.meta.ui"></HeaderTemplate>
<v-content>
<v-layout row>
<router-view></router-view>
</v-flex>
</v-layout>
</v-content>
</v-app>
</template>
<script>
import HeaderTemplate from './views/layout/Header';
import NavigationDrawer from './components/NavigationDrawer'
export default {
name: 'App',
101
components: {
HeaderTemplate,
NavigationDrawer
},
data () {
return {
//
}
},
methods: {
getDateTime() {
this.$store.dispatch('getDateTime')
.then(() => {
})
.catch(error => {console.log(error)})
}
},
beforeCreate() {
const token = localStorage.token;
if (token) {
this.$store.dispatch('chechAuthUser', token)
.then(() => {
//this.$router.push('/')
})
.catch(() => {this.$router.push('authorization')})
} else {
this.$router.push('authorization');
}
this.$store.dispatch('getDateTime')
.then(() => {
})
.catch(error => {console.log(error)})
}
}
</script>
Authorization.vue
<template>
<v-app id="inspire">
102
title>Авторизация</v-toolbar-title>
</v-toolbar>
icon="person" name="login" label="Логин"
type="text" v-model="login"></v-text-field>
icon="lock" name="password" label="Пароль"
type="password" v-model="password"></v-text-field>
</v-form>
</v-card-text>
<span style="color:red;">{{getError}}</span>
btn color="primary" @click="auth()">Авторизоваться</v-btn>
</v-card-actions>
</v-card>
</v-layout>
</v-container>
</v-content>
</v-app>
</template>
<script>
export default {
name: "Authorization",
data() {
return {
login: "test",
password: "123456"
}
},
computed: {
getError() {
return this.$store.getters.getError;
}
},
methods: {
auth: function() {
const user = {
login: this.login,
password: this.password
}
this.$store.dispatch('authUser', user)
.then(() => {
103
this.$router.push('/')
})
.catch(error => {console.log(error)})
}
}
}
</script>
Router.js
import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
import Authorization from './components/Authorization'
import Clients from './views/Clients'
import Objects from "./views/Objects";
import Object from "./views/Object";
import Leads from "./views/Leads";
import Lead from "./views/Lead";
import Tasks from "./views/Tasks";
Vue.use(Router);
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/authorization',
name: 'authorization',
component: Authorization,
meta: {ui: true}
},
{
path: '/',
name: 'home',
component: Home
},
{
path: '/clients',
component: Clients
},
{
path: '/object',
component: Objects
104
},
{
name: 'object',
path: '/object/:id',
component: Object
},
{
path: '/leads',
component: Leads
},
{
name: 'lead',
path: '/leads/:id',
component: Lead
},
{
path: '/tasks',
component: Tasks
}
]
})
AuthController.php
<?php
namespace controllers;
use classes\DBquery;
use core\Controller;
class AuthController extends Controller
{
public function Index()
{
$request = json_decode(file_get_contents('php://input'));
$login = $request->login;
$password = $request->password;
$db = new DBquery();
$params = [
":login" => $login,
":password" => $password
];
$query = $db->queryRow("SELECT * FROM ro_user WHERE login = :login AND password = :password",
$params);
105
if ($query == null) {
Send("Логин или пароль не найден");
} else {
$token = password_hash($this->generateToken($login, $password), PASSWORD_BCRYPT);
$db->update("UPDATE ro_user SET token = :token WHERE id = :id", [":token" => $token, ":id" =>
$query['id']]);
Send(["login" => $query['login'], "token" => $token]);
}
}
public function Check()
{
$request = json_decode(file_get_contents('php://input'));
$token = $request->token;
$db = new DBquery();
$params = [
":token" => $token
];
$query = $db->queryRow("SELECT * FROM ro_user WHERE token = :token", $params);
if ($query == null) {
echo json_encode("Время действия токена истекло");
} else {
$token = password_hash($this->generateToken($query['login'], $query['password']), PASSWORD_BCRYPT);
$db->update("UPDATE ro_user SET token = :token WHERE id = :id", [":token" => $token, ":id" =>
$query['id']]);
echo json_encode(["login" => $query['login'], "token" => $token]);
}
}
private function generateToken($login, $password) {
$time = new \DateTime();
$token = $login.$time->format("Y-m-d H:i:s").$password;
return $token;
}
}
Router.php
<?php
namespace classes;
class Router
{

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)