Заказчик — один из крупнейших розничных холдингов страны, специализирующийся на продаже продуктов питания и товаров повседневного спроса. Компания управляет сетью магазинов различных форматов и развивает собственные цифровые сервисы и онлайн-направление.
Для крупного бизнеса важны стабильность внутренних процессов и быстрый доступ сотрудников к HR-сервисам. Для этих задач было создано корпоративное мобильное приложение, объединяющее кадровые процессы, заявки, документы, уведомления и внутренние сервисы в одном инструменте.
Приложение служит основным цифровым каналом взаимодействия сотрудников с кадровыми сервисами компании. Проект реализуется под NDA.
Когда LighTech подключился к разработке, приложение уже работало, но нуждалось в обновлении и улучшении. Перед нашим разработчиком стоят следующие задачи:
Проект развивается в режиме активной эксплуатации, с регулярными релизами и высокой нагрузкой.
Приложение разработано на Flutter и построено по модульному принципу — каждый модуль отвечает за свою задачу.
На момент подключения нашего специалиста часть функций уже была реализована на устаревшем коде, поэтому наш Flutter-разработчик аккуратно встроился в существующую систему и начал поэтапно приводить её в порядок: улучшать структуру, перерабатывать сложные участки и делать код удобным для дальнейшего развития.
Все доработки выполняются поэтапно, без остановки работы приложения и незаметно для пользователей.
Подключение к действующему продукту
Погружение в архитектуру, анализ легаси-кода, выявление узких мест и технического долга.
Развитие HR-сервисов
Расширение возможностей модулей для работы с кандидатами и внутренним резервом.
Рефакторинг
Наведение порядка во внутреннем устройстве приложения: разделение логики на понятные части, каждая из которых отвечает только за свою задачу. Это сделало данные надёжными и защищёнными от случайных ошибок, упростило поддержку и дальнейшее развитие продукта.
Стабилизация
Оптимизация сетевого слоя, логирования, кэширования, обработка ошибок и крашей.
Поддержка продакшена
Регулярные обновления, мониторинг ошибок, улучшение UX на основе аналитики.
Приложение объединяет ключевые кадровые процессы в одном интерфейсе:
Проект требует тщательной работы с большим объёмом устаревшего кода, который был создан на ранних этапах разработки. Отсутствие возможности «переписать всё с нуля» требует аккуратного, поэтапного рефакторинга без остановки продакшена.
Дополнительную сложность создаёт то, что приложение находится в постоянной активной эксплуатации — регулярные релизы, высокая нагрузка. При этом к системе предъявляются жёсткие требования к стабильности работы и безопасности персональных данных сотрудников.
Кроме того, необходимо одновременно развивать функционал HR-сервисов, внедрять новые сценарии для кадровых подразделений и параллельно повышать качество архитектуры, сетевого взаимодействия, логирования и обработки ошибок.
В результате проведённой работы удалось стабилизировать и масштабировать ключевые модули приложения без остановки пользовательских процессов. Сервисы кадрового резерва и заявок на подбор стали надёжным инструментом для ежедневной работы кадровых подразделений.
Поэтапный рефакторинг позволяет снизить количество критических ошибок, повысить предсказуемость поведения системы и упростить дальнейшее развитие функционала. Была усилена безопасность работы с персональными данными, улучшено сетевое взаимодействие и обработка сбоев.
В итоге приложение становится устойчивым корпоративным инструментом, который закрывает основные HR-задачи сотрудников и кадровых специалистов в одном цифровом пространстве.