Корпоративное приложение

Внутреннее HR-решение на Flutter для обучения сотрудников и генерации ими идей для развития компании

Клиент 

К нам обратилась крупнейшая в мире торгово-производственная компания. Работает с 1911 года, в России — с 1991. Численность сотрудников — более 10 тысяч по всему миру. Называть её мы не можем по условиям NDA.

Задача

Создать внутреннее приложение для сотрудников корпорации

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

  • повысить цифровую грамотность каждого сотрудника;
  • увеличить их вовлечённость в процессы компании;
  • вдохновить сотрудников на генерацию идей по цифровой трансформации;
  • повысить значимость HR-бренда.

Вызовы

Создать универсальный инструмент для более 10 тысяч сотрудников

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

Около 80% сотрудников работают на производстве и имеют отдалённое представление о компьютерных технологиях. Остальные 20% — наоборот, очень хорошо разбираются в них и могут помочь коллегам подтянуть компьютерную грамотность. Так сформировалась одна из целей решения — сократить разрыв между офисными сотрудниками и «производственниками». 

Сплотить коллектив и мотивировать на генерацию идей

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

Мы реализовали удобный интерфейс, в котором любой сотрудник может легко предложить свою идею в онлайн-режиме. Все идеи после модерации передавались на рассмотрение руководителям.

Изменить отношение сотрудников к корпоративному обучению 

Постоянное обучение — неотъемлемая часть работы в больших компаниях. Сотрудники только успевают сдать одну аттестацию, как на носу уже следующая. Это выматывает психологически и эмоционально. С рабочим обучением у сотрудников начинает ассоциироваться лишний стресс и дополнительная нагрузка. К тому же у многих сотрудников корпорации нет рабочего компьютера. 

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

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

Как мы это сделали

Идея приложения, объединяющего всех сотрудников компании, родилась из желания генерального директора провести спортивный челлендж, многие сотрудники поддержали эту идею. Так появился запрос в общей платформе, на которой можно было бы генерировать и предлагать идеи для развития.

В ходе совместных с командой клиента брейнштормов мы развили концепт шире — решили завернуть все внутренние активности в приложение. 

Написали бэкенд

Разработка проекта была отдана нам «под ключ». Это упростило и систематизировало работу с первых этапов. Аналитики подготовили техническое задание и передали нашему бэкенд-отделу. Данные о сотрудниках брали из FTP файла, который подготовили ИТ-специалисты компании-заказчика.

В разработке мы использовали Kotlin. Бэкенд реализовали с применением стандартного набора, типичного для микросервисной архитектуры: фреймворка Spring Boot и JWT-токена для авторизации. Но так как сроки проекта были ограничены, мы применили эти инструменты для создания монолитной архитектуры с виртуальным разделением на микросервисы внутри. 

При проектировании мы заложили основу, чтобы в будущем проект можно было легко разбить на микросервисы. Мы «пакетировали» структуру и уже в отдельных частях реализовывали нужную логику. Такой подход позволяет легко «разъединить» структуру на микросервисы, если это необходимо. 

Также мы учли перспективы возможного роста системы: например, появление новых сотрудников, которым также потребуется доступ в неё.

Создали админ-панель

Для управления контентом мы создали кастомное веб-приложение на React и Ant Design.

Способы авторизации

Скачать приложение из стора может любой пользователь, а вот войти в него — только сотрудник компании, который есть в общей базе. Для авторизации сделали 2 варианта: по почте и по номеру телефона. 

Раздел «Управление» доступен суперадминистратору — он может назначать или убирать администраторов. 

Назначение ролей в веб-приложении

Создали дизайн

Мы создавали концепт с нуля. Дизайн приложения решили сделать простым, не перегруженным деталями, но информативным. Мы подобрали комплиментарные цвета с умеренной контрастностью и клиент оперативно согласовал макет.

Концепция приложения — погрузить сотрудников в информационную образовательную среду — поддержана дизайном. Мы должны были сделать так, чтобы пользователи не просто читали новости и скроллили ленту, а принимали активное участие в развитии приложения. Дизайн-решение сконструировано таким образом, чтобы помогать пользователю продвигаться в обучении, а также в игровой форме зарабатывать и тратить баллы на полезные товары и книги.

Взаимодействие с приложением — важная часть концепта, которая видна с самого начала — онбординга. Специально для этой части мы отрисовали авторских персонажей, которые проводят пользователя в приложение и задают общую стилистику.

Для приложения выбрали Flutter

Для разработки приложения мы предложили клиенту кроссплатформенную технологию — Flutter. Она подходит для мобильных приложений с высокой производительностью и нативным дизайном — как раз то, что было нужно для создания кастомной внутренней системы. Так как кроссплатформа позволяет создать на одном коде приложения сразу для двух операционных систем — iOS и Android — срок и стоимость разработки примерно на 30% ниже, чем у нативных приложений.

Функционально приложение на Flutter ничем не уступает нативному, а это значит, что мы смогли реализовать все фичи, которые ожидал видеть в приложении клиент.

Реализовали в приложении разные возможности

Обучение

Для администратора. Чтобы добавить курс, в админ-панели в разделе «Обучение» нужно нажать на знак плюс — так добавится сущность, внутри которой необходимо будет добавить уроки. В редактировании урока нужно вписать название, краткое описание и текст.

Для создания живых и интересных уроков предусмотрена возможность вставить ссылку или видеоплеер YouTube, который можно запустить видео в формате мини-плеера. Эта встроенная схема во Flutter реализована с помощью библиотеки. Прилагаемые файлы к уроку можно скачать — они попадут в загрузки смартфона.

Для обучающихся. Мы реализовали процесс обучения на основе геймифицированной механики. Пользователь просто листает ленту, набирает курсы, нажимая на «плюс», затем заходит в «Моё обучение» и изучает те курсы, которые выбрал. Этим разделом можно гибко управлять: удалять курс, который уже пройден или стал неинтересен. У каждого курса есть стоимость — показано, сколько сотрудник заработает баллов при успешном прохождении.

Тесты

К каждому курсу можно сделать тест. В админ-панели предусмотрен счётчик количества вопросов. И есть вариативность: можно указать, сколько вопросов нужно отображать: например, 8 любых из 20. 

Кнопка «начать тест» активна, если пользователь ни разу не проходил данный тест и кнопка «пройти ещё раз», если проходил, но неуспешно. Тест считается пройденным, если пользователь набрал более 80% правильных ответов.

Вопросы задаются в случайном порядке: если вернуться к уроку и пройти тест ещё раз, порядок вопросов сгенерируется в новом порядке. 

Баллы начисляются только за пройденный целиком курс. 

Новости

Лента новостей — отличный инструмент для того, чтобы держать сотрудников в курсе событий компании, а также для сбора обратной связи. Мы сделали обязательным размещение новости с изображением для того, чтобы визуал приложения перекликался с привычной всем лентой новостей в соцсетях.

Внутри размещена узнаваемая кнопка «лайк», за клик по которой тоже начисляются баллы.

Механизм обратной связи в этом блоке работает с помощью опции «предложить новость». Каждый сотрудник может кратко описать событие или новостную заметку. Эта заявка попадёт администратору, после валидации он опубликует новость, а сотруднику придут заслуженные баллы.

Магазин

Внутреннее приложение для сотрудников — это не классическое e-commerce приложение. Тут невозможно в прямом смысле «купить» товар. По сути, это витрина, материальных вознаграждений с условной стоимостью.

За полученные баллы сотрудник может выбрать понравившийся товар и оформить заказ. Список товаров ведёт администратор: пишет название, указывает стоимость (баллы) и количество (сколько штук есть в наличии на складе), загружает изображение. 

Чтобы получить товар, нужно нажать «Заказать», тогда заявка уйдёт администратору. После рассмотрения он выдаст сотруднику товар со склада, а количество баллов пользователя будет пересчитано.

Поделиться достижением

Это ещё один способ взаимодействия с приложением. Разумеется, вознаграждаемый. Если сотрудник сделал что-то полезное в офлайне, например, помог принести коробку с печеньем, он может получить баллы в приложении. Остаётся только нажать на кнопку «Поделиться достижением», кратко описать и прикрепить фото. Администратор приложения рассмотрит достижение и начислит баллы.

Лидерборды

«Ничто так не мотивирует на свершения, как здоровая конкуренция», — подумал наш клиент, а мы — воплотили. Система рейтингов в приложении многоуровневая: есть разбивка по личным рейтингам сотрудников, департаментам и средний рейт по компании. Рейтинг визуализирован — графически выделены полосы в зависимости от положения в списке.

Тут отображается ежедневный баланс баллов и информация о системе начислений. На будущее мы предусмотрели в этом разделе возможность отслеживать количество дней до отпуска и подать на него заявление.

Результат

Мы создали приложение, способное сократить разрыв между сотрудниками бэк-офиса и персоналом, задействованным на производстве. Этот шаг повысил уровень компьютерной грамотности и мотивацию к обучению. Теперь необходимая офисная учёба — не тяжёлая ноша, а интересный геймифицированный опыт. Игровые механики помогают вовлечь сотрудников в общую диджитал-среду. 

Одной из ключевых фич для развития как сотрудников, так и самой компании, стала возможность в приложении предложить идею. Открытость и инициативность поощряется руководством, а у подчинённых исчез барьер и появилось чувство причастности к развитию общего дела. Такие HR-инициативы способны инициировать и поддержать развития общей бизнес-стратегии. 

Мы убеждены, что корпоративные приложения — необходимый элемент HR-культуры большой компании. А создать такое приложение можно под кастомный запрос организации.

Давайте создадим мобильное приложение под ваши задачи вместе
Обсудить проект
Eng Обсудить проект