Клиент обратился к нам с просьбой обновить свой проект, который не обновлялся в течение довольно длительного периода времени и нуждался в усовершенствовании. В частности, требовалось проанализировать базу на предмет устаревших решений и ускорения работы создания графиков на основе собранных и загруженных данных в систему. Также были поставлены задачи по обновлению компонентов и скриптов. Так как система не обновлялась достаточно продолжительное время, и многие компоненты требовали доработки и обновления.
В системе был обнаружен некорректно работающий функционал, который требовал исправления и доработки. Также были требования к таблицам для сбора статистики, которые требовалось дополнить данными для более полноценного анализа и презентаций перед руководством. Кроме того, нашей команде необходимо было улучшить UX, обновить различные элементы для более легкого взаимодействия, повысить безопасность системы. Мы провели глубокий анализ перед тем, как приступить к решению поставленных задач.
Для решения данных задач были привлечены необходимые специалисты, среди которых были дизайнер, frontend и backend разработчики, а также DevOps.
Дизайнер работал над обновлением интерфейса системы, с целью улучшения пользовательского опыта и визуальной привлекательности для пользователей. Он провел работу по обновлению графического дизайна и других элементов интерфейса, что позволит пользователям лучше понимать и управлять системой.
Frontend и backend разработчики работали над устранением ошибок и улучшением производительности системы. Они проводили работу по обновлению компонентов и скриптов, убирали устаревшие решения и добавляли новые функциональные возможности в систему.
DevOps занимался управлением инфраструктурой системы и улучшением процесса развертывания и обновления системы. Он работал над автоматизацией процесса развертывания новых версий системы, чтобы процесс был более эффективным и экономически целесообразным, давая возможность обновлять систему по мере необходимости. Благодаря его действиям, мы значительно улучшили производительность процесса развертывания и обновления системы.
Все специалисты работали в тесном взаимодействии друг с другом, чтобы достичь поставленных целей и улучшить проект «Прометей». В результате была создана более быстрая, функциональная и безопасная система с улучшенным интерфейсом и новыми возможностями для сбора и анализа данных PR-кампаний. Усилия нашей команды привели к созданию высококачественного продукта, который сможет эффективно помочь нашему клиенту в его бизнесе.
Проект статистика https://statistics.securelist.com/ru
Нужно было убрать границы стран и регионов с карты мира, на которой отображаются статистические данные с информацией о киберугрозах.
Данные отображаются по странам и регионам и надо сохранить такую возможность просмотра. Ранее полностью все государство отмечалось цветом и устанавливался коэффициент данных, к примеру уровень угрозы в процентах. Карта отображается с использованием библиотеки Amcharts.
Для решения поставленной задачи мы привлекли команду из frontend и backend разработчиков, а также аналитика. Наша команда совместно проработала несколько идей, чтобы найти оптимальное решение для данного вопроса.
Итоговая идея состояла в том, что текущая карта была заменена на карту Мира, которая не имеет границ совсем. Вместо этого мы добавили кружки для столиц и стран, которые были помечены соответствующим цветом уровня угрозы и подписаны названием каждого государства. Также добавили кластеризацию, при первом отображении на карте видно только названия континентов, при приближении уже отображаются названия государств с точками по цвету указывающие на уровень угрозы. При наведении на каждую точку можно увидеть не только название государства, но и и рейтинг и уровень угрозы. По итогу мы смогли предоставить нашему клиенту качественный результат, который удовлетворил его потребности.
Ещё одна задача от заказчика была связана с поддержкой проекта, который был разработан чужой предыдущей командой. В процессе работы были определены следующие цели и задачи.
Когда проект был передан нам, он находился в плачевном состоянии. Мы предложили заказчику переписать проект с нуля, чтобы избавиться от проблем легаси кода. Для выполнения задачи была сформирована команда, и обязанности были распределены следующим образом:
Для решения поставленных задач мы использовали стандартные инструменты разработки. В результате нашей работы мы смогли исправить часть багов и успешно внедрить большую часть функционала, которую требовал заказчик.
Ещё один кейс с данным клиентом — это «Kaspersky Privacy», который был подвергнут рефакторингу с целью восстановления портала. Задачи проекта включали обновление зависимых модулей и версий программного обеспечения, улучшение и расширение функционала и интерфейсов, исправление ошибок и настройку прав доступа.
Основные цели проекта заключались в восстановлении работы портала, а также переносе медиаконтента пользователей в облачное хранилище S3, интеграции с ExpertSender и докеризации проекта. Другие задачи включали удаление неиспользуемого функционала, настройку RBAC, исправление чата, реализацию приватных вложений через S3 в чатах, разделение сессий между инстансами, импорт изображений и видео по ссылкам для постов, обратимое сжатие и изменение размера изображений, реализацию раздельных RSS-каналов, импорт данных из сторонних RSS-каналов, управление RSS-каналами в админке, перенос проекта на новый сервер, создание раздела с активностью пользователя в админке, рассылку для всех пользователей для подтверждения верификации и добавление изображений к товарам в магазине.
Ранее множество функций не работали или работали некорректно из-за устаревших версий ПО и модулей, проблем с интерфейсом, отсутствия подготовки проекта для локального развертывания, отсутствия документации, а также из-за большого количества ошибок и неработающего функционала.
Наша команда проекта состояла из менеджера проектов, frontend и backend разработчика, аналитика, DevOps, а также дизайнера. Обязанности были распределены среди команды в соответствии с их навыками и ролями.
Ожидалось возникновение различных трудностей, и некоторые из них действительно произошли. Трудности возникли в связи с ограниченным доступом, синхронизацией баз данных и переездом на новый сервер.
Для выполнения проекта мы использовали стандартные инструменты, включая Git, GitLab, PhpStorm, Docker, LEPP и VPN.