Артур Семенов arcora
От кода до клиентов
Рейтинг
101
№ 19 434 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Опыт работы
12 лет
На сайте с
2026 года
Юридический статус
Частное лицо

Образовательная платформа с видеокурсами и приёмом онлайн-оплаты для частной медицинской практики

Описание

Врач-аллерголог-иммунолог с частной практикой хотел монетизировать экспертизу: продавать коллегам видеокурсы по своей специализации.

Готовые платформы для онлайн-курсов не подошли по трём причинам: комиссия с каждой продажи, чужой домен вместо собственного бренда и невозможность подстроить логику доступа под себя. Нужна была своя платформа.

Требования к платформе:
— каталог курсов с описанием программы и преподавателя;
— приём оплаты банковской картой на сайте, без переадресации на сторонние сервисы;
— автоматическая выдача доступа сразу после подтверждения платежа, без ручной проверки;
— личный кабинет ученика с прогрессом по курсу;
— защита видеоматериалов от свободного скачивания;
— корректная работа с мобильных — большая часть аудитории смотрит уроки с телефона;
— возможность заводить новые курсы самому, без обращения к разработчику.

Отдельное условие — платформа должна жить на том же домене, что и основной сайт практики, чтобы не размывать бренд.

Решение

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

Что сделал:
— спроектировал структуру данных: курсы, модули, уроки, доступы, платежи;
— каталог курсов с фильтрацией и страницами отдельных курсов;
— регистрацию, авторизацию и личный кабинет ученика;
— интегрировал приём платежей через Точка Банк: формирование счёта, редирект на оплату, обработка вебхуков с проверкой JWT-подписи;
— автоматическую выдачу доступа к курсу по подтверждённому платежу — без участия человека;
— админку, в которой врач сам создаёт курсы, загружает уроки и меняет цены.

Основная инженерная проблема всплыла на загрузке видео. Исходная реализация принимала файл целиком в память перед записью на диск — на роликах в несколько гигабайт процесс падал с переполнением кучи V8. Переписал загрузку на потоковую обработку: файл пишется на диск по мере поступления, память не растёт от размера файла. Заодно закрыл смежный баг — при обрыве соединения на середине загрузки процесс падал вместо корректной отмены.

Развернул на VPS: Caddy с автоматическим SSL, PM2 для процессов, PostgreSQL, автоматические резервные копии базы и загруженных материалов.

Результат

Платформа работает в продакшене. Оплаты проверены на реальных транзакциях, а не только в тестовом режиме банка.

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

Проект остаётся у меня на поддержке: выпускаю доработки и слежу за сервером.

Оценили проект: