Обязанности и достижения:
Проект вел в роли ведущего разработчика управляя работой 1-2 программистов.
Написал с нуля систему сквозной аналитики рекламных кампаний в Яндекс. Директ.
Использовал Zend Framework 2, MySQL, Memcached.
Система состоит из нескольких частей.
LeadHunter - захват заявок с лендингов.
Система аналогичная LPtracker, позволяет устанвоить js код счетчика на любой лендинг и перехватывать submit всех форм на нем. Данные формы и UTM метки ajax запросом отправляются на сервер системы, где кладутся в кеш на mongo. Если поля форм сайта-источника описаны, парсер по cron разбирает поступившие данные и кладет их в базу данных как заявки. Если нет, то уведомление в личном кабинете предлагает это сделать. При этом данные не теряются. Далее менеджер в личном кабинете CRM проводит заявки через все шаги до закрытия. По полученным данным строится график конверсий показы-клики-заявки-(шаги заявки)-продажи по каждому из ключевых слов на поиске в рекламных кампаниях Яндекс. Директ. Данные о них выгружаю по соответствующим UTM меткам и с помощью API Yandex Direct.
CallBackHunter - виджет обратного звонка.
При заказе обратного звонка с сайта создается заявка в CRM и формируется запрос к Asterisk. С помощью сервера на Asterisk формируется запрос к api МГТС и инициируются два звонка: одни менеджеру и второй клиенту. Записи звонков выгружаются в директорию на сервере АТС. По окончании звонка callback запрос к апи CRM устанавливает созданной ранее заявке соответсвующий статус звонка (дозвон/занято/нехватка баланса). К заявке прикрепляется ссылка на запись звонка, который можно прослушать в браузере на странице CRM. В нерабочее время компании клиенту предложены выбрать время обратного звонка, создается задача на обратный звонок, который затем по cron в рабочее время выполняется.
Биллинговая система этой CRM.
С помощью созданных тарифных планов, контроля платежей и списка подключенных периодических и разовых услуг ведется контроль баланса пользователей системы. Создается прогноз по бюджету на месяц. Соответствующие уведомления о подключении, отключении услуг, пополнении или нехватке баланса, прогнозируемом снижении баланса ниже порога отключения высылаются на почту пользователю. Возможна как кредитная система расчета, так и авансовая.
Регрессивное тестирование.
Для контроля качества кода использовал автоматические тесты на PhpUnit + Selenium как при коммитах в git, так и еженочные в Jenkins. Позже перешел на TeamCity.
Проектная работа. Проект завершен.