О Платформе дистанционного обучения ONLINESCHOOL1 v1.0
ООО «ОНЛАЙН-ШКОЛА» (ОГРН: 1197847147090, ИНН: 7841085414) осуществляет деятельность в сфере информационных технологий и является правообладателем программного обеспечения - Платформы дистанционного обучения ONLINESCHOOL1 v1.0. (далее – «Платформа»).
Основной код ОКВЭД ООО «ОНЛАЙН-ШКОЛА»: 62.02 (Деятельность консультативная и работы в области компьютерных технологий).
Коды видов ИТ-деятельности в соответствии с перечнем, утвержденным Приказом Минцифры России от 11.05.2023 № 449:1.01, 1.04, 1.05, 2.01, 4.01, 13.01, 16.01.
Платформа ONLINESCHOOL1 v1.0 официально включена вединый реестр российских программ для электронных вычислительных машин и баз данных(на основании поручения Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 05.12.2022 по протоколу заседания экспертного совета от 28.11.2022 №1873пр).
Использование Платформы:
Реализацию образовательных программ и управление учебным процессом на базе Платформы осуществляют Лицензиаты на основании заключенных с ООО «ОНЛАЙН-ШКОЛА» лицензионных договоров (неисключительная лицензия):
- Частное учреждение дополнительного образования «ОНЛАЙН-ШКОЛА №1» (ОГРН: 1247700392147; ИНН: 7708436887);
- Автономная некоммерческая организация профессионального образования «Дистанционный колледж № 1» (ОГРН: 1227100008101; ИНН: 7100023205).
Оказание услуг конечным пользователям Платформы осуществляется на основании отдельных договоров путем предоставления удаленного доступа к Платформе для использования по прямому функциональному назначению на территории всего мира без права передачи доступа к Платформе третьим лицам.
Описание технической архитектуры Платформы:
Серверная часть системы разрабатывается по принципам монолитной архитектуры на языке TypeScript c использованием программной платформы Node.js и применением фреймворка NestJS.
Клиентское приложение реализовано с использованием гибридного фрейморвка NuxtJS и Vue JS на языке TypeScript. Для визуализации на платформе используется библиотека компонентов, написанная специально под проект. OnlineSchool UI Kit.
Для взаимодействия между клиентом и сервером на сервере реализованы два вида API:
- HTTP API с использованием REST подхода, реализуемый средствами фреймворка NestJS
- WebSocket API реализуемый при помощи Socket.IO
Все данные передаются по защищенному протоколу HTTPS.
Клиентское приложение использует Axios и Socket.IO Client для взаимодействия с API, реализуемыми сервером и описанным выше.
Для хранения данных веб-приложения, клиентских данных, настроек и общих параметров используется СУБД PostgreSQL и столбовая (колоночная) система управления базами данных ClickHouse. Для кэширования данных с целью оптимизации времени обработки запросов и в различных расчетах применяется NoSQL хранилище Redis. Хранение записей видеоинформации осуществляется в S3-совместимом хранилище Kinescope.
Модули системы контейнеризированы и разворачиваются в Docker среде, позволяя легко масштабировать систему в зависимости от нагрузки в облачной SaaS-инфраструктуре. Для диспетчеризации web-запросов и балансировки нагрузки применяется вебсервер Nginx в ОС Linux Ubuntu.
Разработка системы ведется на основе современного подхода Domain-Driven Design (предметно-ориентированное проектирования) и в соответствии с принципами проектирования SOLID, DRY, KISS. Используется многоуровневая архитектура, состоящая из уровней представления, уровня бизнес-логики и уровня доступа к данным. Разделение приложения на слои позволяет модифицировать любой уровень системы, не внося изменения в другие. На уровне бизнес логики в приложении выделяются модули, инкапсулирующие работу со своей предметной областью. Это позволяет командам разработки погружаться и вносить изменения лишь в необходимые модули.
При разработке применяются такие технологии, как GitLab (для хранения и версионирования кода), Gitlab CI (настройка CI/CD), ClickUp (task-трекинг), ClickUp Documents (база данных по проекту), Sentry (Сбор аналитики по проекту).
Технические и эксплуатационные характеристики Платформы:
|
Система виртуализации: |
Microsoft Hyper-V |
|
Балансировщик нагрузки: |
Nginx |
|
Контейнеризация: |
Kubernetes |
|
Средства хранения данных: |
Kinescope, VK Cloud Solutions |
|
Облачное хранилище: |
Kinescope, VK Cloud Solutions |
|
Веб-сервер/балансировщик/прокси-сервер: |
Nginx |
|
Программная платформа: |
отсутствует |
|
Сервер приложений: |
отсутствует |
|
СУБД |
PostgreSQL ClickHouse |
|
Язык программирования |
NodeJS + NestJS |