Второй этап
ЭТАП 2: Добавление тестирования и платных функций Цель: расширить систему, включив проверку знаний (тесты), платные курсы и улучшенные возможности аналитики.
Дополнительный функционал
Тесты (AssessmentModule)
Преподаватель может создавать тесты (вопросы с вариантами ответов). Студент может проходить тесты; результаты сохраняются (баллы, правильные ответы). Ограничение доступа: тест появляется после просмотра определённых уроков.
Платные курсы
Интеграция с платёжными системами (Stripe / PayPal / YooMoney). Если курс платный, студент должен оплатить доступ. Настройка тарифных планов (одиночный курс / подписка).
Расширенный Личный кабинет
Студент видит результаты тестов, сколько у него баллов. Добавить возможность отслеживать прогресс не только по урокам, но и по тестам. Для платных курсов студент может смотреть статусы платежей.
Базовая аналитика
Преподаватель видит, сколько студентов зарегистрировано на курсе, результаты прохождения тестов (средний балл). Простой дашборд в админке (для преподавателей и администраторов).
Роли пользователей (RoleGuard)
Добавить роль «администратор», который может просматривать все курсы, управлять пользователями. Возможность скрывать или показывать функционал в зависимости от роли.
Технологии и структура
NestJS: новые модули (TestModule, PaymentModule).
ORM (TypeORM / Prisma): сущности для тестов (Question, Answer, UserAnswer), платёжных транзакций.
Интеграция с платежными шлюзами: использовать официальные SDK (Stripe/PayPal).
Уведомления (e-mail) о покупках курсов, результатах тестирования (можно через сторонний сервис типа SendGrid).
Результат Этапа 2
Система даёт возможность создавать более интерактивные курсы с тестами и проверкой знаний. Курсы могут быть бесплатными или платными; есть интеграция с платёжным шлюзом. Расширенная панель преподавателя для просмотра статистики по тестам и покупкам.