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