LMS для Бизнеса

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

Информация о проекте

  • Длительность

    6+ месяцев, 7000 часов

  • Методология

    Agile

  • Технологии

    • Backend (PHP,Java): Yii, Symfony, Spring
    • Веб: HTML5/CSS, AngularJS, SASS
    • База данных: MySQL, PostgreSQL
    • Инфраструктура: Amazon(EC2, Load balancer, Autoscaling group, S3, RDS, SNS), Docker
  • Команда проекта

    • 3 PHP-разрабтчика
    • 2 frontend-разработчик
    • 1 бизнес-аналитик/проектный менеджер
    • 2 тестировщика
  • Категория

    Мобильная разработка, Веб разработка

  1. Цель

    • Закончить работу над проектом в домене автоматизации HR-процессов.
    • Разработать продукт в рамках инфрастуктуры заказчика.
    • Осуществить анализ безопасности и устранить потенциальные угрозы.
    • Модернизировать систему и разработать мобильные приложения.
    • По результатам аудита системы разработать стратегию разработки продукта и план модернизации системы.
  2. Задачи бизнеса

    • Создать мобильную версию сайта.
    • Обновить дизайн и юзабилити текущей версии.
    • Провести тестирование безопасности системы и устранить потенциальные проблемы.
    • Сделать систему модульной, чтобы она стала легко кастомизируемой под нужды клиентов.
    • Разработать модуль SSO (единый логин) для интеграции с LDAP (система контроля доступа в инфраструктуре клиента).
    • Интегрировать данные и синхронизировать с другими системами клиента.
    • Реализовать инструменты геймификации.
    • Разработать мобильные приложения для iOS и Android.
  3. Технические задачи

    • Провести рефакторинг кода. Система разрабатывалась 2 года до того, как мы присоединились к проекту, за это время технологии изменились. Кроме того, качество кода оставляло желать лучшего.
    • Отделить бизнес логику от внешнего вида приложения (необходимо для редизайна). Также мы должны были создать мобильные приложения и мобильную версию вебсайта. Для этой цели мы работали с REST API, который позволил нам перенести данные в мобильную версию. Сам вебсайт был переключен на REST API, и был сделан редизайн.
    • Сделать систему масштабируемой. Для этого мы значительно переработали архитектуру и конфигурации данных, а также обновили механизм деплоймента система. Были использованы в большом количестве возможности инфраструктуры Amazon.

Особенности

  • Масштабируемость системы

    Система изначальна была разработана так, что не была приспособлена к высоким нагрузкам и масштабированию. Вместо хранения данных на локальном сервере, мы поместили их в облако - сделали редизайн модуля для работы с документами и файлами. Для этого мы воспользовались Amazon S3, как как это гибкое и удобное файловое хранилище.

  • Автомаческие задания и активности

    Приложение предполагает множество автоматических активностей и заданий (проверка завершения курса, отправка писем, генерация сертификатов, и т.д.). Мы использовали CRON, а также инструменты CSV импорта.

  • REST API

    В процессе разработки REST API на пришлось переписать большое количество строчек кода, так как в нем не было разделения на слои, а значительная часть логики была разработана с некоторыми ошибками.

  • Управление зависимостями

    Мы решили использовать Composer для управления зависимостями. Это был первый шаг к созданию модульной архитектуре.

  • Координация команд

    В течение рабочего процесса нам приходилось общаться с IT-отделом клиента и делить обязанности: что они могли сделать, и что мы могли и сделаем, планировали активности.

  • Интеграция со стандартом SCORM

    Система предполагает тесную интеграцию со SCORM, широкоиспользуемым форматом в инудстрии eLearning. Для PHP мы не нашли приемлемых решений, так что мы сами занялись модулем для обработки SCORM-данных.

Решение

Ключевой задачей было отделить бизнес-логику и пользовательский интерфейс. Для этого мы использовали REST API, что позволило получать доступ к данным с любого приложения (как десктопногл, так и мобильного). Более того, мы адпатировали лэндинг для мобильных устройств, используя Angular, что отлично сработало с системной логикой на REST API. Мы по полной использовали возможности Amazon, благодаря чему работа системы улучшилась при высоких нагрузках, так как мы изменили конфигурацию серверов. Далее мы приступили к разработке мобильных приложений.

Функционал

  • Эффективное взаимодействие с командой

    • Инструмены мотивации команды.
    • Простое создание групп по отделам для тесной продуктивной работы.
    • Создание групп для команд топ-менеджмента.
    • Обмен актуальными документами и одновременная работа с ними.
    • Обмен экспертизой, создание опросов, организация мероприятий.
  • Создание дорожных карт карьеры сотрудника

    • Отслеживание прогресса.
    • Подсказки для сотрудников.
    • Отображение следующих шагов для развития карьеры.
  • Инструменты геймификации

    • Награды за хорошую работу и завершение курсов.
    • Возможность создавать компетенции, задавать для них бюджет, очки и уровни.
  • Техники обучения персонала

    • Добавление новых пользователей.
    • Доступ к различным обучающим материалам.
    • Предоставление сертификатов.
  • Оценочные тесты

    • Проверка отчетности по тестам и анализ.
    • Создание новых тестов.
    • Сравнение ожиданий с результатами.
    • Выбор вопросов из множества подготовленных
  • Удобная система отчетности

    • 20 стандартных шаблонов отчетов на выбор.
    • Измерение производительности персонала.
    • Рекомендации на основе KPI.
    • Определение точек развития.

Результат

Мы разработали сложную систему eLearning для эффективного обучения персонала, которая включает в себя различные тренинги, методологии, инструменты геймификации, удобную система отчетности, инструменты анализа результатов, групповые чаты и многое другое. Мы успешно преодолели все трудности, появляющиеся в процессе разработки, и создали комплексное eLearning веб приложение и его мобильную версию с обширным функционалом. Благодаря данному проекту мы получили массу полезного опыта по работе с Amazon, Yii фреймоврком, а также инструментами PHP.

Настало время для нового проекта? Или просто хотите поздороваться?