Цель проекта
Ускорить процессы работы старой CRM-системы и формирование отчетов
Задачи проекта
- Собрать все данные о клиентах в одном месте
- Автоматизировать бизнес-процессы
- Оптимизировать процесс взаимодействия между сотрудниками
- Сделать работу сотрудников компании и клиентов компании удобнее
Решение
- Поддержка старой системы:
- Ускорение составления отчетов
- Улучшение производительности отдельных функций
- Разработка новой системы:
- Разделение функций системы на независимые сервисы
- Размещение высоконагруженных частей на отдельных серверах
Команда на проекте
Проектировщик
Дизайнер
Архитектор
Техлид
Front-end разработчик
Back-end разработчик
DevOps инженер
Менеджер проекта
Тестировщик
Ход проекта
Быстрая реализация базовой функциональности для анализа работы продукта в целом. Создание прототипа продукта.
Руководство с данными, необходимыми для сопровождения системы.
Написание уникальных текстов по указанной заказчиком теме.
Процесс исследования. Испытания продукта, целью которых является проверка соответствия между реальным поведением продукта и её ожидаемым поведением на конечном наборе тестов, выбранных определенным образом.
Результат
CRM-система, в которой работают:
- Отдел обслуживания
- Отдел контроля качества
- Отдел продаж
Биллинг-система, которая в автоматическом режиме производит операции:
- Расчет и выставление счетов
- Списание средств
Система отчетов для руководства
Особенности проекта
Микросервисная архитектура
Взаимодействие систем
Ведение абонентской платы
Работа с рекламациями
Анализ поведения абонента
Построение сложных отчетов на больших массивах данных
Безопасные хранение и обработка больших объемов данных
Понятный интерфейс
Быстрая скорость работы
Стабильность
Адаптивность верстки
Отправка sms, функционал звонков
Подробное описание архитектуры
Сервис состоит из нескольких блоков. Основным блоком является модуль синхронизации данных с REST API и SOAP-ресурсами Beeline. Он выполняет задания по обновлению данных по расписанию и по запросу пользователей. Пользовательский модуль работает со всеми остальными модулями:получает данные о номерах (и дополнительную информацию) от clients_data, отправляет задания на синхронизацию syncronizer, задания на обновление данных модулю operations. И запросы на генерацию отчётов по данным reports с возможностью генерации различных, удобных пользователю файлов в documents.
Модуль синхронизации работает с ресурсами Beeline, имея жесткие ограничения по количеству запросов. Для этого он имеет встроенный планировщик, систему динамической загрузки данных и перезагрузки данных при ошибках.