У ЦЭТ была технически устаревшая система для тестирования школьников, доработать которую было невозможно, поэтому клиент хотел сделать новую, более современную и простую. Заказчик пришел к нам уже со своим ТЗ. С учётом недостатков старой системы были выдвинуты ключевые требования к новой:
После анализа указанных выше проблем, нами был предложен технологический стек:
Phalcon + NodeJS + React + Electron + VirtualBox.
Сочетание этих технологий позволяло в полной мере воплотить концепцию «write once - run everywhere», при этом оставаясь в рамках бюджета клиента.
У него есть три режима входа: от лица администратора, преподавателя и ученика (по просьбе клиента мы добавили дополнительную возможность, когда преподаватель может быть одновременно администратором). При запуске серверного приложения в школе производится его настройка.
CККЗ - приложение-клиент, для работы которого необходим сервер. Для внедрения продукта в школы был разработан установщик и простое приложение для управления виртуальным сервером и его настройки. За этим фасадом находится специально сконфигурированный и оптимизированный под задачи системы дистрибутив Linux, работающий в виртуальной машине Virtualbox.
Этот модуль позволяет заказчику управлять лицензиями: когда школы приобретают ПО, то им вместе с продуктом поставляется лицензионный ключ, который нужно активировать. Каждый ключ открывает доступ для определенного количества классов. Если клиент хочет расширить количество тестируемых классов, он общается к ЦЭТ и они выдают клиенту новый лицензионный ключ с расширенными классами. Кроме того, эта часть системы позволяет управлять репозиторием тестов и автоматическими обновлениями для школ.