Skip to content

kokesh88/crm

Repository files navigation

CRM

В приложении реализован базовый функционал CRM-системы: ведение клиентской базы, автоматизация сделок, задач и воронок.

Содержание

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

Приложение разработано с целью освоения базовых навыков создания веб-приложений с применением фреймворка Laravel.

Использованные технологии

Установка

Склонируйте репозиторий

git clone https://github.com/praisethesadness/crm.git

Установите зависимости

composer install
npm install && npm run build

Создайте .env-файл

cp .env.example .env

Убедитесь, что в .env-файле установлены параметры подключения к БД:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root

Для создания таблиц и внесения тестовых данных запустите следующую команду:

php artisan migrate:fresh —seed

Запустите сервер

php aritsan serve

Для получения real-time уведомлений (напоминания для задач и новые сообщения от клиентов):

php artisan schedule:work
php artisan websockets:serve

Чтобы иметь возможность переписываться с клиентом, добавьте API-токен своего Telegram-бота в .env-файл

TELEGRAM_BOT_TOKEN=your_token

и запустите команду

php artisan telebot:polling

Возможности системы

Аутентификация

Вход в систему осуществляется через email и пароль. Самостоятельная регистрация пользователя не предусмотрена.

Авторизация

Ограничение возможностей пользователя в соответствии с назначенными ему ролями.

Пользовательские роли

По умолчанию предусмотрены две роли: администратор и менеджер. Ниже перечислены действия в системе, требующие авторизации, и привилегии базовых ролей.

Действие Менеджер Администратор
Создать/изменить/удалить воронку - +
Создать клиента + +
Создать/изменить/удалить сотрудника - +
Создать/изменить/удалить роль - +
Создать задачу + +
Назначить исполнителя задачи - +
Добавить сделку + +
Изменить любую сделку - +

Можно как добавлять новые роли, так и редактировать существующие (однако набор доступных привилегий в системе остается неизменным).

Клиенты

Внесение клиентов в систему осуществляется двумя способами: ручной ввод и принятие входящего лида. Первый способ подразумевает заполнение полей формы создания клиента:

  • ФИО (обязательно)
  • Номер телефона
  • Email

Во время принятия лида автоматически создается запись о клиенте с полем ФИО, заполненным именем пользователя Telegram.

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

Сотрудники

Сущность сотрудника имеет следующие поля:

  • ФИО
  • Роли (0 и более)
  • Должность
  • Номер телефона
  • Email
  • Пароль

При внесении в систему нового сотрудника ему по умолчанию назначается роль менеджер.

Задачи

Сущность задачи имеет следующие поля:

  • Название
  • Описание
  • Кто назначил
  • Исполнитель
  • Клиент
  • Сделка
  • Крайний срок
  • Напоминание
  • Приоритет

По умолчанию менеджер видит только назначенные ему задачи. При добавлении задачи он не может назначить исполнителя. Менеджер может редактировать и удалять только созданные им задачи.

В установленное время на экране появляется напоминание в виде тоста.

Сделки

Сущность сделки имеет следующие поля:

  • Название
  • Ответственный
  • Клиент
  • Воронка
  • Этап воронки
  • Сумма
  • Дата закрытия

К сделке можно добавить кастомные поля.

Для редактирования, помимо кастомных, доступны стандартные поля: название, воронка, этап воронки, сумма.

К сделке можно прикрепить только одного сотрудника.

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

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

Воронки

В системе предусмотрена стандартная демо-воронка, состоящая из следующих этапов:

  • Лид
  • Потребность выявлена
  • Договор и счет отправлены
  • Счет оплачен

Любая воронка по умолчанию имеет этапы “успешно реализовано” и “закрыто и не реализовано”. Перемещенная на один из этих этапов сделка считается закрытой.

Аналитика

В системе предусмотрен небольшой модуль аналитики, состоящий из разделов “воронки” и “менеджеры”.

В разделе “воронки” доступна информация о движении сделок по этапам выбранной воронки, а также кол-во задач и сделок в работе, кол-во отказов и просроченных задач.

В разделе “менеджеры” отражены следующие параметры:

  • закрытые сделки
  • уникальные клиенты
  • отказы
  • средний чек

Можно выбрать любой временной период для анализа (минимум - сутки).

Интеграция с Telegram

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

Сообщение, отправленное боту, попадает во вкладку “входящие лиды”. Менеджер может отправлять сообщения через чат, принять или отклонить лид. При принятии лида автоматически создаётся клиент с именем, указанным в Telegram-аккаунте. Поскольку теперь в системе содержится запись о клиенте, дальнейшая переписка не будет отображаться во вкладке “входящие лиды”.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages