Evercode labs
CRM решения

Создаем и внедряем системы автоматизации бизнес-процессов. Интеграция CRM с внешними и внутренними сервисами компании. Уникальные методологии продаж, управление контактами, контроль платежей, электронный маркетинг.

далее
далее
Кейс 18

Реализация системы автоматизации генерации отчетов по продвижению для Kelnik Studios

Разработали систему RedReport, позволяющую максимально упростить и оптимизировать работу отдела продвижения по генерации отчетов клиентам.
Сроки
ПЕРВАЯ ВЕРСИЯ
3 месяцев
ПОДДЕРЖКА
6 месяцев
Технологии
БЭКЕНД
Symfony, Doctrine (MySQL), phpdocx

RedReport — система автоматизации генерации отчетов по продвижению, выполненная для компании Kelnik Studios.

Задача

Задача проекта RedReport проста — максимально упростить и оптимизировать работу отдела продвижения по генерации отчетов клиентам.

Kelnik – одна из лидерующих компаний Санкт-Петербурга по продвижению, число их клиентов измеряется даже не десятками. И каждый месяц чуть ли на целую неделю все силы отдела были направлены только на то, чтобы подготовить каждому клиенту отчет по результатам работы за месяц. С графиками, таблицами, проделанными работами и выводами, всё это в фирменном стиле в специальном вордовском документе.

Глобальную задачу разбили на составляющие, вот основные:

  • управление проектами клиентов, возможность заполнения информации
  • сбор данных по проекту с liveinternet
  • сбор данных по проекту с google analytics
  • генерация веб-версии отчетов с таблицами, графиками, текстовыми данными и возможностью все это гибко редактировать
  • генерация документа Microsoft Word в фирменном стиле Kelnik Studios для отправки клиентам

Взаимодействие на проекте

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

Каждая итерация занимала примерно месяц. Разработка базовой тестовой версии заняла примерно 3 месяца, еще примерно столько же работали над совершенствованием. После чего последовал небольшой период сопровождения. И в конце мы передали проект на поддержку уже самой компании, которая предусмотрительно наняла выделенного программиста под нужды отдела.

Вся работа с заказчиком была организована в basecamp, куда был доступ нескольким сотрудникам Kelnik и всей нашей команде. Мы фиксировали задачи на этап в виде списков todo, по мере готовности сообщали об этом, оставляя комментарии. Обратная связь, новые идеи, просьбы и сообщения о багах по договоренности также заводились в специальные листы задач. Каждый мог в любой момент уточнить какие-либо детали, поделиться информацией и сориентироваться по текущему прогрессу.

Технологии

Проект разработан на Symfony версии 2.3. Работа с базой через Doctrine. Вот список, использованных бандлов Symfony:

  • friendsofsymfony/user-bundle – для организации работы пользователей, разделения прав доступа на сотрудников и админов
  • friendsofsymfony/jsrouting-bundle — для организации динамических действий в конструкторе отчетов
  • knplabs/knp-paginator-bundle — пагинация списков проектов и отчетов
  • knplabs/knp-menu-bundle — работа меню системы
  • doctrine/doctrine-fixtures-bundle — для организации тестовых данных
  • doctrine/doctrine-migrations-bundle — правильное управление изменениями структуры базы, используется по умолчанию во всех наших проектах на Symfony2
  • avalanche123/imagine-bundle — работа с изображениями
  • sensio/buzz-bundle — коннектор для библиотеки Buzz, используемой для сбора данных из внешних систем
  • fabpot/goutte — умная и легкая работа с парсингом данных
  • widop/google-analytics-bundle — работа с Google Analytics API
  • oldsound/rabbitmq-bundle — работа очереди для сбора данных
  • evercodelab/hipchat-monolog-bundle — наш бандл для отправки ошибок работы проект в рабочий чат
  • exercise/htmlpurifier-bundle — очистка данных

Для генерации графиков использовалась библиотека jpgraph. Нам было необходимо кастомизируемое решение, которое позволяло генерировать изображения на стороне сервера, так как изображения затем нужно было экспортировать в docx версию отчета.

Особое внимание, конечно, пришлось уделить генерации отчетов в формате Microsoft Word. Мы перепробовали все доступные варианты, которые только смогли найти. В итоге остановились на платной библиотеке phpdocx. Даже с ней работа была не простой. В процессе пришлось местами влезать в исходный код самой библиотеки, чтобы одолеть правильные стили. Возможно, как-нибудь мы еще расскажем отдельно про этот опыт. С момента сдачи проекта, библиотека активно развивалась, выпустив в этом году новую мажорную версию.

В целях ускорения разработки, с дизайном решили не заморачиваться, все оформление сделано на twitter bootstrap.

Результат

К результату мы двигались упорно, дорога не всегда была простой. Но мы его добились. Более того, позволив частичное использование системы еще до полной ее готовности. Теперь работа над созданием отчета сводилась к тому, чтобы сгенерировать отчет всего одной кнопкой.

Конечно, при необходимости можно в отчете поменять заведенные через настройки тексты, проставить даты графиков и таблиц под нужные интервалы и сделать прочие кастомизации. Главное, что ушла необходимость собирать скриншоты графиков, копипастить данные таблиц с кучи сайтов и источников. Проверить достоверность данных можно перейдя по быстрым ссылкам прямо рядом с графиком или таблицей.

Ниже скриншоты только некоторых экранов системы.

Отзыв

А вот какой отзыв нам оставила Елена, руководитель отдела продвижения Интерактивного агентства «Кельник»:

"Огромное спасибо Роману и команде программистов Evercode за профессионализм и ответственное и трепетное отношение к качеству своих проектов. При условиях неполного ТЗ на разработку и большого количества незафиксированных идей, когда многое приходилось обсуждать и делать «на ходу», специалистам Evercode удалось учесть в разработке весь необходимый объем информации, предложить наиболее подходящие и современные технологии и реализовать все наши идеи в полноценный рабочий продукт при минимальных усилиях с нашей стороны. Это особенно актуально при условии ограниченного количества выделенного времени. Очень хочется отметить качество нашего взаимодействия с компанией – отдельное спасибо Роману за внимательное отношение к нам, как к клиентам, "улавливание" иногда даже неоговоренных деталей, оперативность при решении срочных задач, возможность регулярных встреч, которые помогли охватить весь спектр важных деталей. Особенно хочется подчеркнуть, что с Evercode мы всегда находили оптимальное решение без торможения процесса - это было для нас очень важно в условиях сложности проекта. Кажется, что если специалисты Evercode берутся за проект, то приложат все усилия, и сделают его максимально профессионально, качественно, аккуратно и с душой :). Спасибо вам! Желаем больших и интересных проектов в настоящем и будущем! :)"

Расскажите нам о своих идеях и мы предложим лучшие решения!
Связаться с нами
Другие кейсы
Разработка CRM для компании CADFEM CIS. Версия 2.0
Улучшили пользовательский интерфейс и существенно расширили функциональные возможности системы
Разработка CRM для компании CADFEM CIS
Создали и запустили SamovarCRM — систему управления продажами и проектами. Умеет вести клиентскую базу, возможности и сделки, помогает ставить задачи и учитывать нагрузку, генерирует документы и показывает статистику.