Расскажем об обном из самых интересных лично для нас проектов: RedReport — система автоматизации генерации отчетов по продвижению, выполненная для компании Kelnik Studios.
Задача проекта RedReport — максимально упростить и оптимизировать работу отдела продвижения по генерации отчетов клиентам.
Kelnik – одна из лидерующих компаний Санкт-Петербурга по продвижению, число их клиентов измеряется даже не десятками. И каждый месяц чуть ли на целую неделю все силы отдела были направлены только на то, чтобы подготовить каждому клиенту отчет по результатам работы за месяц. С графиками, таблицами, проделанными работами и выводами, всё это в фирменном стиле в специальном вордовском документе.
Глобальную задачу разбили на составляющие, вот основные:
С самого начала мы договорились работать итерационно. Полного ТЗ на проект не было. Мы просто встречались с Леной Михайловой (руководителем отдела), обсуждали, рисовали на бумаге, затем это формализовали в список задач, фиксировали его в виде соглашений, по нему потом и сверялись. Постепенно от бумаги мы перешли уже к обзору готового функционала тестовой версии. А еще через несколько месяцев, когда запустили тестовую версию, обсуждали потребности, обнаруженные при непосредственной эксплуатации.
Каждая итерация занимала примерно месяц. Разработка базовой тестовой версии заняла 3 месяца, еще столько же работали над совершенствованием. После чего последовал небольшой период сопровождения. В конце мы передали проект на поддержку самой компании, которая предусмотрительно наняла выделенного программиста под нужды отдела.
Вся работа с заказчиком была организована в basecamp, куда был доступ нескольким сотрудникам Kelnik и всей нашей команде. Мы фиксировали задачи на этап в виде списков todo, по мере готовности сообщали об этом, оставляя комментарии. Обратная связь, новые идеи, просьбы и сообщения о багах по договоренности также заводились в специальные листы задач. Каждый мог в любой момент уточнить какие-либо детали, поделиться информацией и сориентироваться по текущему прогрессу.
Проект был разработан на Symfony2. Работа с базой через Doctrine. Вот список, использованных бандлов Symfony:
Для генерации графиков использовалась библиотека jpgraph. Нам было необходимо кастомизируемое решение, которое позволяло генерировать изображения на стороне сервера, так как изображения затем нужно было экспортировать в docx версию отчета.
Особое внимание, конечно, пришлось уделить генерации отчетов в формате Microsoft Word. Мы перепробовали все доступные варианты, которые только смогли найти. В итоге остановились на платной библиотеке phpdocx. Даже с ней работа была не простой. В процессе пришлось местами влезать в исходный код самой библиотеки, чтобы одолеть правильные стили.
В целях ускорения разработки, с дизайном решили не заморачиваться, все оформление сделано на twitter bootstrap.
К результату мы двигались упорно, дорога не всегда была простой. Но мы его добились. Более того, позволив частичное использование системы еще до полной ее готовности. Теперь работа над созданием отчета сводилась к тому, чтобы сгенерировать отчет всего одной кнопкой.
Конечно, при необходимости можно в отчете поменять заведенные через настройки тексты, проставить даты графиков и таблиц под нужные интервалы и сделать прочие кастомизации. Главное, что ушла необходимость собирать скриншоты графиков, копипастить данные таблиц с кучи сайтов и источников. Проверить достоверность данных можно перейдя по быстрым ссылкам прямо рядом с графиком или таблицей.
Ниже скриншоты только некоторых экранов системы.
А вот какой отзыв нам оставила Елена, руководитель отдела продвижения Интерактивного агентства «Кельник»:
Огромное спасибо Роману и команде программистов Evercode за профессионализм и ответственное и трепетное отношение к качеству своих проектов. При условиях неполного ТЗ на разработку и большого количества незафиксированных идей, когда многое приходилось обсуждать и делать «на ходу», специалистам Evercode удалось учесть в разработке весь необходимый объем информации, предложить наиболее подходящие и современные технологии и реализовать все наши идеи в полноценный рабочий продукт при минимальных усилиях с нашей стороны. Это особенно актуально при условии ограниченного количества выделенного времени. Очень хочется отметить качество нашего взаимодействия с компанией – отдельное спасибо Роману за внимательное отношение к нам, как к клиентам, "улавливание" иногда даже неоговоренных деталей, оперативность при решении срочных задач, возможность регулярных встреч, которые помогли охватить весь спектр важных деталей. Особенно хочется подчеркнуть, что с Evercode мы всегда находили оптимальное решение без торможения процесса - это было для нас очень важно в условиях сложности проекта. Кажется, что если специалисты Evercode берутся за проект, то приложат все усилия, и сделают его максимально профессионально, качественно, аккуратно и с душой :). Спасибо вам! Желаем больших и интересных проектов в настоящем и будущем! :)
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.