Управление взаимоотношениями с клиентами


Обзор моего представления

STACKER

Это программное обеспечение, которое помогает компаниям легко отслеживать коммуникации между агентами по обслуживанию клиентов и клиентами. Оно использует REDIS для хранения данных (вопросы, представленные клиентами). Он интегрирован с чатом, разработанным с использованием socketIO. Этот проект поставляется с python(Flask) API и Vue,Vite Application.Пользовательский интерфейс был построен с использованием tailwindCss.

Базовая функциональность:

  1. Как клиент, вы создаете учетную запись или регистрируетесь.
  2. Получаете доступ к приборной панели
  3. Создаете проблему (проблема будет добавлена в очередь).
  4. На стороне агента по обслуживанию клиентов.
  5. Войдите в систему.
  6. Вы увидите приборную панель со списком вопросов, которые необходимо рассмотреть.
  7. Те из них, которые уже находятся в работе у других агентов, будут выделены красным цветом.
  8. Посетите вопрос с зеленым фоном.
  9. Чтобы посетить проблему, нажмите кнопку Перейти в чат. Это перенаправит вас в чат, где вы сможете общаться с клиентом.
  10. Клиент получит уведомление о том, что вопрос находится на рассмотрении.
  11. Если вопрос был решен, он закрыт.
  12. Если вопрос находится в стадии расследования, он сохраняется в архиве.
  13. В противном случае она остается ОТКРЫТОЙ / В ПРОЦЕССЕ.
  14. На приборной панели клиент и агент по обслуживанию клиентов смогут видеть свои проблемы — открытые, закрытые и архивированные.

Зачем это нужно?

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

Где мы использовали redis.

((в качестве основной базы данных, используя модуль RedisJson через Redis OM Python)).

  • Хранение информации чата — сообщений
  • Хранение вопросов
  • Хранение данных пользователей

Категория «Представление»:

Wacky Wildcards

Обзорное видео (необязательно)

Ссылка на код

emacliam / REDIS-HACKERTHON—CRM

Приложение для управления взаимоотношениями с клиентами

Обзор проекта

STACKER

Это программное обеспечение, которое помогает предприятиям легко отслеживать коммуникации между агентами по обслуживанию клиентов и клиентами. Оно использует REDIS для хранения данных (вопросы, представленные клиентами). Он интегрирован с чатом, разработанным с использованием socketIO. Этот проект поставляется с python(Flask) API и Vue,Vite Application.Пользовательский интерфейс был построен с использованием tailwindCss.

Базовая функциональность:

  1. Как клиент, вы создаете учетную запись или регистрируетесь.
  2. Получаете доступ к приборной панели
  3. Создаете проблему (проблема будет добавлена в очередь).
  4. На стороне агента по обслуживанию клиентов.
  5. Войдите в систему.
  6. Вы увидите приборную панель со списком вопросов, которые необходимо рассмотреть.
  7. Те из них, которые уже находятся в работе у других агентов, будут выделены красным цветом.
  8. Посетите вопрос с зеленым фоном.
  9. Чтобы посетить проблему, нажмите кнопку Перейти в чат. Это перенаправит вас в чат, где вы сможете общаться с клиентом.
  10. Клиент будет…
Посмотреть на GitHub

Используемые языки:

Javascript(Vue,js) html Tailwindcss Python.

Скриншоты

Посадочная страница

Страница приборной панели

Страница чата

Как это работает

Как хранятся данные:

Данные хранятся с помощью модуля RedisJSON в БД и RedisOM Python в качестве клиентской библиотеки.

  • Хранить (Добавить): model_instance = ModelName(key1=value1, key2=value2, ..., keyN=valueN) model_instance.save()

Пример кода:Схема базы данных

Проблемы

class Issue(EmbeddedJsonModel, JsonModel):
    subject: Optional[Optional[str]] = Field(index=True)
    description: Optional[str] = Field(index=True)
    issue_status: Optional[str] = Field(index=True)
    sender: Optional[str] = Field(index=True)
    created_at: Optional[str] = Field(index=True)
    record_status: Optional[str] = Field(index=True)
Вход в полноэкранный режим Выход из полноэкранного режима

Сообщения

class Message(JsonModel):
    issue: Optional[Optional[str]] = Field(index=True)
    sender: Optional[str] = Field(index=True)
    sender_data: User
    issue_data: Issue
    message_body: Optional[str] = Field(index=True)
Войти в полноэкранный режим Выйти из полноэкранного режима

Пользователь

class User(EmbeddedJsonModel, JsonModel):
    first_name: Optional[str] = Field(index=True)
    last_name: Optional[str] = Field(index=True)
    role: Optional[str] = Field(index=True)
    created_at: Optional[str] = Field(index=True)
    record_status: Optional[str] = Field(index=True)
Войти в полноэкранный режим Выход из полноэкранного режима

Как осуществляется доступ к данным:

  • Получить:
    model_instance = ModelName.find((ModelName.field1=="value1")&(ModelName.field2=="value2")) — для фильтрации по значениям полей 1 и 2.

  • Обновление:
    model_instance = ModelName().get(model_instance_id)
    model_instance.field1 = new_value1
    model_instance.field2 = new_value2
    model_instance.fieldN = new_valueN
    model_instance.save()

Пример кода: Как получить доступ/получить данные пользователя

def get_users():
    try:
        users = User.find(User.record_status=="ALIVE").all()
        users_list = []

        for user in users:
            user_dict = {}

            for x in user:
                user_dict[x[0]] = x[1]

            users_list.append(user_dict)

        return jsonify({
            "status_code": "200",
            "status": "success",
            "message": "users_retrieved_ok",
            "data": users_list
        })

    except:
        traceback.print_exc()
        return jsonify({
            "status_code": "500",
            "status": "error",
            "message": "failed_to_retrieve_users",
            "data": [],
        })

Вход в полноэкранный режим Выход из полноэкранного режима

Как запустить его локально?

Бэкенд

  • Необходимые условия:Python 3.8.2
  • Шаги локальной установки:
- clone repo
- access folder titled "CRM BACKEND"
- add ".env" file in the root directory of the project and add the line:
        -> "REDIS_OM_URL=[URL_TO_REDIS_CLOUD]"
- create and activate virtual environment in the root directory using the command (on Windows 10 cmd):
        -> "python -m venv [ENVIRONMENT_NAME]"
        -> "[ENVIRONMENT_NAME]scriptsactivate"
-install project packages in the active environment using the command (on Windows 10 cmd):
        -> "pip install -r requirements.txt"
    -run flask API using the command (on Windows 10 cmd):
        -> "flask run"
    -it should give an output like:
        * Debug mode: on
        * Running on localhost:[PORT_NUMBER]
        * Restarting with stat
        * Debugger is active!
        * Debugger PIN: [DEBUGGER_PIN]
Вход в полноэкранный режим Выход из полноэкранного режима

Фронтенд

  • Необходимые условия:Node.js >= 14
  • Шаги локальной установки:
- clone repo
- access folder titled "CRM FRONTEND"
- run "YARN INSTALL"
- In the project folder, there is a file "config.js".change url to your backends server url.
- run "YARN DEV" to run the project
- To expose host on a network run with --host flag eg:"YARN DEV --host"
Вход в полноэкранный режим Выход из полноэкранного режима

Необходимые условия

Node.js >= 14 Python 3.8.2 Redis Cloud Account

Дополнительные ресурсы / информация

Архитектура

Модель

Коллабораторы

Роль: Разработчик Python
В этом проекте он разработал python Api с использованием flask

valentinesean

Разработчик программного обеспечения

Я
Роль: Front End Developer
В этом проекте я разработал приложение на vue.js.

Развертывание

Мы рекомендуем запустить этот проект локально, следуя приведенным выше шагам.

Лицензия

APACHE
Вход в полноэкранный режим Выйти из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий