Доработка бизнес-логики образовательной платформы: подтверждение занятий, контроль посещаемости и история уроков (Django + React)
Важно
Перед началом работ необходимо внимательно изучить текущую реализацию проекта.
В отклике просьба указать:
• предварительную оценку стоимости проекта;
• предварительную оценку сроков выполнения;
• опыт работы с Django и React;
• примеры похожих проектов.
После ознакомления с проектом потребуется:
• определить, какой функционал уже реализован;
• определить, какой функционал реализован частично;
• определить, какой функционал отсутствует полностью;
• предложить оптимальный план реализации;
• предоставить уточнённую оценку количества часов;
• предоставить окончательную стоимость проекта.
Предпочтение будет отдаваться исполнителям, которые готовы сначала разобраться в существующей архитектуре проекта и только после этого предоставить финальную оценку работ.
Описание проекта -Есть действующая образовательная платформа (аналог Preply), разработанная на Django + React.
На данный момент после окончания урока система автоматически переносит занятие из раздела «Предстоящие» в раздел «Прошедшие».
При этом:
• отсутствует подтверждение занятия студентом;
• отсутствует информация о том, состоялся ли урок;
• отсутствует информация о неявке преподавателя;
• отсутствует информация о неявке студента;
• отсутствует история подтверждений занятий.
Необходимо реализовать полноценную систему подтверждения уроков, контроля посещаемости и хранения истории подтверждений.
Цель проекта
Создать прозрачную систему фиксации результатов занятий, которая позволит:
• понимать, состоялся ли урок;
• фиксировать неявки студентов и преподавателей;
• вести историю подтверждений;
• предоставлять администрации инструменты контроля качества платформы;
• подготовить основу для дальнейшей финансовой логики платформы.
Также важно, чтобы реализованная система в дальнейшем могла использоваться для автоматического изменения финансового статуса урока и начисления средств преподавателю после подтверждения занятия.
На данном этапе реализация Tutor Wallet и системы выплат не входит в данный проект, однако архитектура решения должна учитывать возможность дальнейшей интеграции с финансовой логикой платформы.
Функционал подтверждения урока
За 5 минут до окончания урока необходимо отображать ненавязчивое уведомление внутри урока:
"Пожалуйста, подтвердите результат занятия после его завершения."
После окончания урока студент должен получить запрос на подтверждение результата занятия.
Варианты ответа:
• Занятие состоялось
• Преподаватель не явился
• Я не смог присутствовать
Напоминания
После завершения урока:
• первое уведомление сразу после окончания занятия;
• повторное напоминание через 12 часов при отсутствии ответа;
• автоматическая обработка через 24 часа.
Автоматическое подтверждение
Если студент не подтвердил результат занятия в течение 24 часов:
• система автоматически подтверждает урок;
• урок считается состоявшимся;
• статус урока автоматически меняется на Auto Confirmed.
При этом в системе должно фиксироваться, что подтверждение выполнено автоматически.
Статусы уроков
Необходимо реализовать следующие статусы:
• Scheduled
• Confirmed
• Pending Confirmation
• Completed
• Auto Confirmed
• Tutor No Show
• Student No Show
• Cancelled
Система должна автоматически изменять статусы в зависимости от действий пользователя.
История подтверждений
Для каждого урока необходимо хранить:
• студента;
• преподавателя;
• дату урока;
• время урока;
• результат подтверждения;
• кто выполнил подтверждение;
• дату и время подтверждения;
• способ подтверждения.
Примеры:
Student: John Smith
Tutor: Anna Brown
Confirmation result:
Lesson completed
Confirmed by:
Student
Date:
30.05.2026 18:42
Confirmation type:
Manual
или
Student: John Smith
Tutor: Anna Brown
Confirmation result:
Lesson completed
Confirmed by:
System
Date:
31.05.2026 18:00
Confirmation type:
Automatic (24h timeout)
История подтверждений должна храниться без ограничения срока хранения и быть доступна администратору для просмотра в любой момент.
Мультиязычность
Сообщения системы должны отображаться на языке интерфейса пользователя.
Минимально необходимо предусмотреть:
• Украинский язык
• Русский язык
• Английский язык
Административная часть
Администратор должен иметь возможность:
• просматривать все уроки;
• просматривать статусы уроков;
• просматривать историю подтверждений;
• просматривать автоматически подтверждённые уроки;
• просматривать Tutor No Show;
• просматривать Student No Show.
Поиск и фильтрация
Необходимо реализовать поиск и фильтрацию уроков по статусам:
• Scheduled
• Confirmed
• Pending Confirmation
• Completed
• Auto Confirmed
• Tutor No Show
• Student No Show
• Cancelled
Базовая статистика
Для преподавателя:
• всего уроков;
• завершённых уроков;
• подтверждено студентом;
• автоматически подтверждено;
• Tutor No Show;
• Student No Show.
Для студента:
• всего уроков;
• завершённых уроков;
• Tutor No Show;
• Student No Show;
• ожидающих подтверждения уроков.
Важно
Данный проект не включает разработку Tutor Wallet и системы выплат преподавателям.
Данный проект не включает административную панель управления платформой.
Основная задача проекта: реализовать систему подтверждения занятий, контроля посещаемости, хранения истории подтверждений и связанных статусов уроков.
Стек проекта
• Django
• React
После успешного выполнения проекта возможно дальнейшее сотрудничество по развитию Student Dashboard, Tutor Dashboard, финансовой логики платформы и системы выплат преподавателям.