ТЕХНИЧЕ ЗАДАНИЕ (ТЗ)
на разработку платформы для онлайн-обучения английскому языку
1. Общий описание проекта
Цель: создать учебную платформу для изучения английского языка, которая позволяет:
- проходить ученику уроки с учителем (онлайн Zoom);
- проходить ученику самостоятельно уроки, без учителя;
- учителю продавать уровни английского языка (A1–C1) отдельно;
- продавать специальные курсы;
- позволяет ученикам проходить уроки постепенно;
- автоматически проверять тесты;
- бронировать занятия с учителем;
- подключать автоматические платежи;
- видеть прогресс ученика в кабинете преподавателя.
2. Функционал пользователей
2.1. Ученик
Имеет возможность:
- создать свой аккаунт;
- просматривать купленные курсы и уровни;
- проходить уроки (тесты, аудио, видео, задания) после оплаты за "уровни английского языка (A1–C1)"
- видеть свой прогресс;
- бронировать уроки с учителем после оплаты "индивидуальные уроки";
- выполнять домашние задания с автоматической проверкой;
- повторять пройденный материал;
- получать автоматические проверки тестов и заданий;
- получать email-уведомления в случае необходимости;
- покупать новые уроки/уровни/пакеты.
2.2. Учитель
Может:
- просматривать прогресс каждого ученика;
- просматривать правильные/неправильные ответы;
- просматривать стадию прохождения уроков;
- открывать бесплатный доступ отдельным ученикам;
- добавлять/редактировать уроки;
- добавлять тесты, аудио, видео, изображения;
- создавать домашние задания;
- открывать новые уроки вручную или автоматически.
2.3. Администратор
Может (без программиста):
- изменять цены;
- изменять продолжительность уроков;
- изменять доступность специальных курсов;
- изменять страницы сайта;
- интегрировать новые курсы;
- просматривать все транзакции;
- управлять платежами;
- настраивать ограничения доступа.
2.4. Система бронирования занятий
Функционал:
- учитель создает доступные слоты;
- ученик после покупки "индивидуальных уроков" видит свободные слоты;
- учитель подтверждает бронирование;
- учителю приходит email;
- ученику приходит email;
- в кабинете показывается дата и время урока;
- возможность переноса/отмены;
- автоматическое списание 1 урока после подтверждения.
3. Структура уроков
Отдельный урок = отдельная длинная страница:
- блок с видео;
- блок с аудио;
- блок с объяснением правил;
- интерактивные тесты с автопроверкой;
- упражнения drag & drop, выбор ABCD, ввод текста, matching;
- кнопка «Завершить» → проверка → запись результата.
Добавляется пример на фото*
- должна быть возможность у ученика добавлять слова в личный словарь с уроков. При нажатии на каждое слово в уроке есть перевод и "+" с возможностью добавить в свой словарь. А потом ученик может работать со словарем отдельно.
После основного урока:
- через определенное время (60мин) открывается страница «Домашнее задание» (страница с меньшим объемом заданий).
4. Доступы
Доступ открывается:
- после оплаты;
- вручную преподавателем;
- или по специальному промо.
5. Курсы и уровни
Уровни: A1, A2, A2+, B1, B1+, B2, B2+, C1.
Каждый уровень:
- покупается отдельно;
- содержит 8 разделов по 4 урока в каждом, со страницей контрольной после каждого 4 урока;
- имеет страницу прогресса;
- имеет доступ к календарю бронирования.
Специальные курсы:
- могут быть платными/бесплатными;
- администратор сам добавляет оплату или убирает.
6. Платформа уроков
Необходимо создать конструктор уроков с такими блоками:
- текст,
- фото,
- аудио,
- видео,
- тест (разные типы),
- PDF-вставка.
Тесты должны:
- автоматически проверяться,
- сохранять ответы,
- показывать статистику преподавателю.
7. Прогресс ученика
Должен содержать:
- % завершения курса;
- правильные/неправильные ответы на каждом уроке;
- историю уроков;
- результаты домашки;
- дату прохождения.
8. Email-уведомления
Уведомления должны приходить:
- о покупке;
- о бронировании урока;
- о напоминании урока;
- о открытии домашнего задания;
- о завершении каждого раздела в уровне с результатом прогресса.
9. Технологии
Возможные варианты:
- WordPress + кастомные модули (рекомендуется);
- или Laravel + Vue/React;
- или другая CMS с админкой.
Требования:
- скорость работы;
- стабильность;
- возможность расширять без программиста.
10. Платежи через API (подробно)
Платежные этапы:
1. Покупка уровня (A1-C1)
2. Покупка уроков индивидуальных на каждые пол-уровня. (по 16 уроков, всего их 32 в уровне).
3. После оплаты → открытие доступа.
4. Webhook → проверка → запись транзакции.
5. Email подтверждение.
Необходимо реализовать:
- Payment Init API.
- Payment Callback/Webhook API.
- Payment History для админа.
- Refund API (опционально).
Безопасность:
- HTTPS,
- цифровая подпись,
- ключи в .env.
11. Календарь занятий
- внутренняя система или интеграция через API;
- создание слотов учителем;
- бронирование индивидуальных уроков только после оплаты;
- возможность переноса.
12. Личный кабинет
Ученик:
- Мои курсы
- Мои уроки
- Прогресс
- Домашние задания
- Бронирование
- Оплаты
- Т. д.
Учитель:
- Статистика учеников
- Журнал уроков
- Ответы по тестам
- Управление уроками
- Т. д.
Админ:
- Цены
- Курсы
- Пользователи
- Оплаты
- Настройки
- Т. д.
13. Дизайн
- минималистичный,
- адаптивный,
- в стиле текущего сайта ivanenglish.com (далее доработать).
Цвета можно взять с текущего сайта. Фото прилагается.
14. Требования к программисту
- сделать все «под ключ»;
- вся система должна быть простой для редактирования;
- никаких зависимостей от разработчика;
- документация по использованию админки.