Подключение через VPN может влиять на стабильность сайта. Для корректной работы попробуйте отключить VPN.

О Платформе дистанционного обучения 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
Redis

ClickHouse

Язык программирования

NodeJS + NestJS