BruDgital: платформа онлайн-курсов с защищённым видео и живыми эфирами
онлайн-школа по маркетингу: свой сайт, вход через ботов, оплата и эфиры вместо Zoom
Собственная платформа онлайн-школы вместо связки чужих сервисов: курсы с доступом по покупке, вход через ботов Telegram и ВКонтакте, оплата через Продамус, защищённое видео и живой интенсив прямо на сайте. Три этапа из четырёх готовы и работают на закрытом тестовом стенде, запуск в конце октября 2026 года.
Задача
Автор курсов по маркетингу продаёт обучение через связку чужих сервисов: эфиры в Zoom, оплата отдельно, доступы вручную, ученики разбросаны по мессенджерам. Нужна собственная платформа, которую владелец школы ведёт сам, без разработчика:
- собирает в админке курсы, блоки и уроки, загружает видео и тексты;
- проводит бесплатный трёхдневный интенсив, который ведёт в платные курсы;
- продаёт курсы, а доступ выдаётся автоматически после оплаты;
- видит учеников, их оплаты и доступы.
Условия: запуск в конце октября 2026 года, сервер в России, оплата через Продамус, с которым школа уже работает.
Решение
Одно ядро и несколько входов в него: сайт, бот Telegram и бот ВКонтакте работают с общей базой людей, курсов, доступов и оплат. Ядро — серверная часть, где хранятся все данные и правила, а сайт и боты только показывают их по-разному.
Что входит в первую версию:
- Вход через бота. Кнопки «Войти через Telegram» и «Войти через ВКонтакте» открывают бота с одноразовым кодом, сайт получает сессию за секунды. Каждый вошедший уже подписан на бота, это основа будущих рассылок. Пароль — запасной вариант, а его сброс проходит только с одобрения администратора, чтобы аккаунт нельзя было угнать или передать.
- Доступ по покупке. Купил курс А — открыт А. Курс Б показан с замком и персональным предложением со скидкой до даты.
- Курсы как конструктор. Курс, блок, урок; уроки открываются сразу, через N дней или с заданной даты. На этом держится интенсив.
- Оплата через Продамус за общим интерфейсом платёжного шлюза: оплата → уведомление → доступ → «спасибо».
- Защищённое видео. Обработка в фоне на несколько качеств, зашифрованные фрагменты, ключ только после проверки доступа, один просмотр одновременно, водяной знак с номером ученика.
- Интенсив в эфире на сайте. Трансляция из OBS через медиасервер, как в нашей Переговорке: плеер, чат, счётчик зрителей, напоминания в бот. Запись эфира сама становится уроком.
- Админка для обывателя по образцу магазина рубашек, где владелец сам ведёт каталог с телефона.
- Бот как меню. «Мои курсы» с прогрессом, каталог с личной ценой и поддержка прямо в Telegram и ВКонтакте; ответ администратора приходит ученику в его мессенджер.
- Личные цены, пакеты и промокоды. Скидка на следующий курс с обратным отсчётом, промокоды поверх неё, пакет курсов с зачётом уже купленного и одно напоминание о брошенной оплате.
- Подтверждение получения доступа. После оплаты уроки открываются отметкой при первом входе: время, IP, браузер и редакция оферты сохраняются в карточке ученика. Условия возврата показываются до оплаты.
Как это устроено
Сайт на Nuxt 4 рендерится на сервере, API — FastAPI с PostgreSQL, фоновые задачи и сроки — в Redis. Каждое действие человека пишется в журнал событий: регистрация, оплата, сколько минут был на эфире. Из журнала потом строятся воронки и дожим.
Архитектура заложена под сервис, а не под одну школу: у данных есть привязка к школе, а платёжный сервис, хранилище видео и будущий ИИ-продажник подключаются через интерфейсы. Раздача видео отделена от ядра: ядро выдаёт только ключи, а фрагменты может отдавать отдельный видеосервер или CDN, когда зрителей станет больше. Это настройка адреса раздачи, а не переделка кода.
Уведомления бота идут через очередь с повторами: недоставленное перечитывается через минуту, а если Telegram недоступен, сообщение уходит ученику во ВКонтакте. Вход по ссылке из бота требует подтверждения — чужая ссылка не войдёт на сайт под вашим аккаунтом.
Пока идёт разработка, на домене стоит фирменная страница «ведутся работы»: кран держит ноль между двумя четвёрками, а если по нулю кликнуть, он падает. Сайт закрыт от индексации на всех уровнях, сборщики превью и роботы получают отказ. Работает он в отдельном контейнере с ограничением памяти и процессора на нашем сервере, рядом с сервисом трансляций, и не мешает ему.
Статус
В разработке, работы идут с опережением: три этапа из четырёх готовы. На закрытом тестовом стенде с выдуманными курсами и учениками заказчик уже проходит путь целиком — вход через бота, покупку, защищённое видео и эфир, — а заглушка на главном адресе остаётся до запуска.
Готово к 3 октября: вход через Telegram, ВКонтакте и пароль, курсы деревом с расписанием, личные цены, пакеты и промокоды, оплата через Продамус с проверкой подписи, загрузка видео до 8 ГБ с докачкой и нарезкой на три качества, защищённый плеер, эфирная комната с чатом и записью в урок, бот-меню с поддержкой, админка с хронологией каждого ученика, SEO-разметка. Перед показом заказчику логику денег, доступов и эфира отдельно перепроверили и исправили найденное.
Осталось — четвёртый этап: полировка, наполнение курсами, пробный эфир и запуск в конце октября 2026 года. Следом на той же основе: рассылки по тегам, ИИ-продажник, эфиры для учеников отдельных блоков курса и скрытые метки в видео.
Вопросы по проекту
Зачем онлайн-школе своя платформа вместо готовых сервисов курсов?
Как сделать, чтобы купленный курс открывался автоматически?
Можно ли проводить бесплатный интенсив на своём сайте, а не в Zoom?
Как защитить видеоуроки от слива?
Можно ли продать пакет курсов, если один курс из него уже куплен?
Что делает бот, кроме входа на сайт?
Где работает сайт, пока он в разработке?
Ещё по этому направлению
Интернет-магазин рубашек на Nuxt 4 с админкой для владельца
магазин рубашек в Чебоксарах: владелец сам ведёт товары, цены и заказы
UNLOCK: интерактивные открытки и адвент-календарь
собственный сервис студии: открытка по ссылке с паролем, управление из Telegram
DevUnit Lab: многоязычный сайт студии на Nuxt 4
собственный сайт студии, в продакшене с 29 сентября 2026 года
Нужно похожее?
Расскажите о задаче — покажем, как решали такое, и прикинем объём работ.