Sova.online


Сайт не содержит персональных данных и не требует регистрации.

Начинаем



SOVA.ONLINE
Платформа смешанного обучения
Скачать
О нас
Попробовать
О проекте
Свой сервер
Вы не платите за аренду владельцу платформы.
Полный контроль над всеми данными.
Возможность кастомизации.
Читать еще...

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


Безопасность и защищенность
Современные методы защиты.
Ролевые ограничения.
Гибкий доступ к видеофайлам.


Профессионально. Удобно. Понятно.
Личные кабинеты:
- студент
- куратор
- преподаватель
- офис

Сервер организации

Цена
На разных платформах аренда для 500 студентов - это несколько сот тысяч рублей в год.
Сервер организации можно арендовать за менее, чем 200 рублей в месяц. Введите в поисковике "аренда vps vds".
Sova.online для 500 студентов прекрасно работает на сервере с характеристиками:
1 CPU
1 GB RAM
10 GB Disk
Linux Ubuntu

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

Кастомизация
Возможность доработки платформы под свои задачи, добавление форм, отчетов, настройка взаимодействия с другими системами.
Встроенный редактор позволяет создавать материалы и задания в виде минисайтов из нескольких страниц (открыть home-page в редакторе).

Администрирование
На сервере должны быть установлены:
Python3
(входит в состав ОС)

Nginx
инструкция по установке

Gunicorn
инструкция по настройке Gunicorn

https://
Certbot: управление SSL-сертификатами от Let's Encrypt


NGINX
Nginx - быстрый и умный http сервер. Он ускорит и обезопасит работу портала по протоколам http/https.
Инсталляция
sudo apt update
sudo apt install nginx
Старт сервиса
sudo systemctl start nginx
Рестарт сервиса
sudo systemctl restart nginx
Старт при загрузке
sudo systemctl enable nginx

Подробней на официальном сайте
http://nginx.org/ru/docs/install.html


В директории "/etc/nginx/sites-available" создайте файл "sova-online.conf" и перезапустите сервис (sudo systemctl restart nginx).

server {
server_name sova.online;
server_tokens off;

location / {
proxy_pass http://unix:/run/gunicorn.sock;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}


client_max_body_size 50m;


location ~* \.(php|sh|env)$ {
deny all;
return 404;
}


location /static/doc/ {
alias /www/sova-online/static/doc/;
add_header X-Frame-Options SAMEORIGIN always;
}


location /static/ {
alias /www/sova-online/static/;
expires 4M;
add_header Cache-Control public;
}


location /image/ {
alias /www/sova-online/static/images/;
expires 4M;
add_header Cache-Control public;
}


location = /favicon.ico {
alias /www/sova-online/static/favicon.ico;
}


}





Gunicorn
Gunicorn - WSGI сервер. Устанавливается вместе с другими Python модулями при инсталляции основной программы.
Перед стартом в директории /etc/systemd необходимо создать 2 файла:

/etc/systemd/gunicorn.service
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=root
WorkingDirectory=/www/sova-online
ExecStart=/www/sova-online/venv/bin/gunicorn --workers 1 --threads 20 --worker-class gthread --log-file /www/sova-online/log/guni.log --bind unix:/run/gunicorn.sock arm.wsgi:application

[Install]
WantedBy=multi-user.target
/etc/systemd/gunicorn.socket
[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target


При изменении описания служб требуется перезапуск демонов
sudo systemctl daemon-reload

Старт сервиса
sudo systemctl start gunicorn.socket

Старт сервиса при перезагрузки ОС
sudo systemctl enable gunicorn.socket



HTTPS
Чтобы добавить протокол HTTPS на ваш сайте, вам необходимо получить сертификат из Центра сертификации.
Let’s Encrypt выдает сертификат бесплатно.
Программа Certbot автоматизирует выпуск, установку и автоматическое продление сертификата Let’s Encrypt без перерыва в работе.
Полная инструкция на сайте certbot
https://certbot.eff.org/

Устанавливаем snap
sudo apt install snapd

Устанавливаем certbot
sudo snap install --classic certbot

Делаем ссылку в /usr/bin
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Привязываем certbot к нашему сайту
sudo certbot --nginx



Открытый код

FreeBSD license
Данная лицензия разрешает использование и распространение программного обеспечения без каких-либо ограничений.

Платформа Sova.online
Серверная часть использует фреймворк Django, клиент реализован на ReactJS. Особенностью платформы является то, что весь дизайн сделан на Питоне и передается клиенту в json-формате. React распаковывает данные и формирует страницу.
Добавление и доработка форм делаются на Питоне.
База данных имеет смешанную структуру: в реляционных таблицах хранятся json-поля. Это позволяет добавлять новые поля в формы без изменений структуры БД.
Исходный код и инструкции на Github.

Версия для Windows
Не требует инсталляции, может запускаться с флэшки.
Версия представляет собой полноценный сервер с доступом по http://localhost:8081.
Безопасность

Nginx
Сервер Nginx существенно повышает безопасность, защищая от различных атак:

DDoS (Распределённые атаки на отказ в обслуживании).
Защита от Flood-атак (HTTP-запросы, SYN-flood).
Rate Limiting – ограничение запросов в секунду.

Slowloris (атака на исчерпание соединений).
Таймауты (client_body_timeout, client_header_timeout) обрывают "висячие" соединения.

Django
CSRF защита, надежная авторизация.
Защита от подмены в запросе id, формы, таблицы.
Защита от sql-инъекций.

Ролевые ограничения
Доступ к данным контролируется сервером: запрещенные к показу поля не отправляются клиенту.
Например, поля обратной связи с оценкой студентом преподавателя может увидеть только сам студент и суперпользователь.

Доступ к видео
Куратор может запретить доступ к видеоматериалам конкретным студентам или всей группе.

Знакомимся с Sova.online

Документация
Перед тем, как попробовать, советуем прочитать
Руководство пользователя.pdf


Видео

Деморолик.
смотреть
7.5 мин
Программа обучения - это события. Знакомимся с календарем в личном кабинете.
смотреть
1 мин
Сотрудники тоже могут обучаться. Для группы "Сотрудники" могут создаваться лекции и другие события. Создаем для сотрудников обучающую видео лекцию.
смотреть
2.5 мин
Добавление видео лекций в расписание. Управление доступом к видео.
смотреть
2.5 мин
Создание лекции. Видео может находиться на любом видео хостинге. При размещении на Yandex диске можно разрешать и блокировать доступ к файлам без регистрации в Yandex. Yandex-api генерирует временную ссылку на файл с ограничением по времени.
смотреть