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 тестировщика
Категория
Мобильная разработка, Веб разработка
Цель
- Закончить работу над проектом в домене автоматизации HR-процессов.
- Разработать продукт в рамках инфрастуктуры заказчика.
- Осуществить анализ безопасности и устранить потенциальные угрозы.
- Модернизировать систему и разработать мобильные приложения.
- По результатам аудита системы разработать стратегию разработки продукта и план модернизации системы.
Задачи бизнеса
- Создать мобильную версию сайта.
- Обновить дизайн и юзабилити текущей версии.
- Провести тестирование безопасности системы и устранить потенциальные проблемы.
- Сделать систему модульной, чтобы она стала легко кастомизируемой под нужды клиентов.
- Разработать модуль SSO (единый логин) для интеграции с LDAP (система контроля доступа в инфраструктуре клиента).
- Интегрировать данные и синхронизировать с другими системами клиента.
- Реализовать инструменты геймификации.
- Разработать мобильные приложения для iOS и Android.
Технические задачи
- Провести рефакторинг кода. Система разрабатывалась 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.