Создание сайта образовательной платформы с системой защиты от копирования

Не секрет, что интернет открыл для образовательной системы большие возможности. Сегодня большое количество людей из разных уголков страны могут получить доступ к профессиональным курсам и платформам, не выходя из своего дома. При этом они экономят большие суммы, которые потратили бы на транспортные и сопутствующие расходы, если бы была необходимость очного присутствия.

С другой стороны, авторы образовательных программ и учреждения, при правильном подходе могут создать значимый актив в своем бизнесе. Ведь онлайн платформа это возможность многократно увеличить свою аудиторию, практически при фиксированных расходах. Только представьте вы создали такой виртуальный класс, в котором может обучаться несколько тысяч учеников, а ваши расходы при этом фиксированы арендой хостинга в районе 1000 руб. в месяц. Это ли не чудо?

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

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

Архитектура и CMS

В основе сайты мы поставили CMS Битрикс. Причины ее выбора достаточно просты – она популярна, функциональна, постоянно улучшается и, что не маловажно, мы хорошо умеем с ней работать. Кроме нее мы еще классно работаем и с UMI и c NetCat, но с партнером решили делать на Битриксе.

Планирование архитектуры важный этап, так как от этого зависит дальнейшее масштабирование проекта и финансовые затраты, связанные с его улучшением и развитием. Чтобы этот этап был максимально эффективен, необходимо обсудить с клиентом все возможные ветки роста платформы. К примеру, это может быть выход на иностранные рынки, расширение линейки курсов, подключение сторонних авторов и так далее. Важно услышать все виденье проекта от автора хотя бы на ближайшую пару лет.

На старте проекта планировался только один курс, но в перспективе будет расширение. Поэтому мы выделили каждый обучающий модуль в отдельный Инфоблок, в котором элементы будут уроками. Система пользователей используется стандартная, она полностью подходила без доработок. Еще требовалось учесть систему промокодов, которые станут как альтернативный способ оплаты. Для их хранения мы используем Highload блоки, созданные с нужными нам полями – код, дата активации и пользователь, который его активировал.

Покупка курса

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

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

А что же есть? Промо курса и кнопка Купить. Если продукт понравился, то мы жмем на кнопку покупки и переходим на шаг, где есть только два поля. Одно из них обязательное, это email куда будет отправлена ссылка на курс, а второе опциональное – это промокод, если он есть.

Далее происходит следующее. Если введен промокод, то он проверяется на корректность. Если он отсутствует в базе или уже ранее был активирован, то отобразится уведомление об ошибке. А если код корректен, то происходит автоматическая активация кода, в качестве подтверждения оплаты, создание пользователя и отправка на указанную почту ссылки на личный кабинет с паролем для входа. Когда промокода нет, пользователь переадресовывается на страницу оплаты через Яндекс.Кассу и после ее совершения происходит примерно тоже самое, за исключением шага с купоном.

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

Генератор промо-кодов на Битрикс.Старт

В этом проекте мы использовали самую базовую версию Битрикс – редакцию Старт. В ней нет штатных средств для создания купонов и промокодов. В идеале, конечно, стоило бы выбрать редакцию Стандарт, так как она более защищенная со своим модулем проактивной защиты, но и в ней нет нужного для данной задачи функционала. Для этого требуется минимум редакция с модулем интернет-магазина – Малый бизнес. Но ввиду ограниченного бюджета выбрали самую начальную версию CMS.

Чтобы можно было использовать промокоды, мы взяли уже работающий механизм, который ранее внедряли на других сайта, например, интернет-магазин с системой оплаты товаров бонусами. В нем можно выделить две составляющие – первая, это сама система хранения и учета, а вторая, это модуль генерации новых купонов. Хранение осуществляется в Highload блоках, а по факту это как отдельная таблица в базе данных обернутая интерфейсом Битрикса для удобной работы с ней внутри админки. Все отметки о привязки к пользователям, который активируют купоны и даты этих активация, хранятся в этой же таблице.

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

Защита от копирования

Особое место в этом кейсе занимает система защиты контента от копирования. Заказчик уделил этому большое внимание. Мы, выслушав суть задачи, обрисовали несколько вариантов решения с комментариями плюсов и минусов каждого. На основе наших предложений был выбран и реализован один из них.

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

Первое что стоило нам решить, это как исключить простую операцию от выделения и копирования текста в пару кликов. Вариант с тем, чтобы текст сделать в виде картинок не подошел по причине его не адаптивности и сложности в редактировании. Например, если потребуется контент-менеджеру вставить ссылку в текст, то сделать это будет сложно и трудозатратно, если он в виде картинки. Второй вариант был, отключить возможность использовать правую кнопку мыши и возможность выделить текст. Это не сложно сделать с помощью специальных скриптов, однако чуть более опытный человек умеет открывать исходник страницы и там он этот текст без труда возьмет, так как в этом режиме скрипты не работают. Плюс можно просто выкачать страницу и взять текст из исходника локально.

Проведя небольшой мозговой штурм внутри своей компании, мы придумали интересное решение задачи. Мы сделали предварительную предобработку текста и внедряли в него вокруг большинства букв специальные теги со случайным набором символов. При этом обычному пользователю текст отображается корректно, так как он стилизуется и технические коды прячутся. И так же редактор при внесении текстов в системе управления сайтов вставляет обычный текст как ему, нужно не делая никаких дополнительный операций. Все проявляется, когда вы открываете исходник. А там абсолютно не понятный и не разборный набор символов. Обработать его конечно можно, но потребуется написать специальный программный скрипт и заплатить за его разработку.

На наш взгляд такое решение по защите контента достаточно удобное и справляется с поставленной задачей.

Резюме

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

Пишите нам, если вы хотите создать подобный проект для своих образовательных программ или своей организации. Будем рады помочь вам создать свою большую фирму!