Доопрацювання бізнес-логіки освітньої платформи: підтвердження занять, контроль відвідуваності та історія уроків (Django + React)
Важливо
Перед початком робіт необхідно уважно вивчити поточну реалізацію проекту.
В відгуку прохання вказати:
• попередню оцінку вартості проекту;
• попередню оцінку термінів виконання;
• досвід роботи з Django та React;
• приклади схожих проектів.
Після ознайомлення з проектом знадобиться:
• визначити, який функціонал вже реалізований;
• визначити, який функціонал реалізований частково;
• визначити, який функціонал відсутній повністю;
• запропонувати оптимальний план реалізації;
• надати уточнену оцінку кількості годин;
• надати остаточну вартість проекту.
Перевага буде надаватися виконавцям, які готові спочатку розібратися в існуючій архітектурі проекту і тільки після цього надати фінальну оцінку робіт.
Опис проекту -Є діюча освітня платформа (аналог Preply), розроблена на Django + React.
На даний момент після закінчення уроку система автоматично переносить заняття з розділу «Найближчі» в розділ «Відбулися».
При цьому:
• відсутнє підтвердження заняття студентом;
• відсутня інформація про те, чи відбувся урок;
• відсутня інформація про неявку викладача;
• відсутня інформація про неявку студента;
• відсутня історія підтверджень занять.
Необхідно реалізувати повноцінну систему підтвердження уроків, контролю відвідуваності та зберігання історії підтверджень.
Мета проекту
Створити прозору систему фіксації результатів занять, яка дозволить:
• розуміти, чи відбувся урок;
• фіксувати неявки студентів і викладачів;
• вести історію підтверджень;
• надавати адміністрації інструменти контролю якості платформи;
• підготувати основу для подальшої фінансової логіки платформи.
Також важливо, щоб реалізована система в подальшому могла використовуватися для автоматичного зміни фінансового статусу уроку і нарахування коштів викладачу після підтвердження заняття.
На даному етапі реалізація Tutor Wallet і системи виплат не входить в даний проект, однак архітектура рішення повинна враховувати можливість подальшої інтеграції з фінансовою логікою платформи.
Функціонал підтвердження уроку
За 5 хвилин до закінчення уроку необхідно відображати ненав'язливе повідомлення всередині уроку:
"Будь ласка, підтверджуйте результат заняття після його завершення."
Після закінчення уроку студент повинен отримати запит на підтвердження результату заняття.
Варіанти відповіді:
• Заняття відбулося
• Викладач не з'явився
• Я не зміг бути присутнім
Нагадування
Після завершення уроку:
• перше повідомлення одразу після закінчення заняття;
• повторне нагадування через 12 годин при відсутності відповіді;
• автоматична обробка через 24 години.
Автоматичне підтвердження
Якщо студент не підтвердив результат заняття протягом 24 годин:
• система автоматично підтверджує урок;
• урок вважається відбувшимся;
• статус уроку автоматично змінюється на Auto Confirmed.
При цьому в системі повинно фіксуватися, що підтвердження виконано автоматично.
Статуси уроків
Необхідно реалізувати наступні статуси:
• Заплановано
• Підтверджено
• Очікує підтвердження
• Завершено
• Автоматично підтверджено
• Викладач не з'явився
• Студент не з'явився
• Скасовано
Система повинна автоматично змінювати статуси в залежності від дій користувача.
Історія підтверджень
Для кожного уроку необхідно зберігати:
• студента;
• викладача;
• дату уроку;
• час уроку;
• результат підтвердження;
• хто виконав підтвердження;
• дату і час підтвердження;
• спосіб підтвердження.
Приклади:
Студент: Джон Сміт
Викладач: Анна Браун
Результат підтвердження:
Урок завершено
Підтверджено:
Студентом
Дата:
30.05.2026 18:42
Тип підтвердження:
Ручний
або
Студент: Джон Сміт
Викладач: Анна Браун
Результат підтвердження:
Урок завершено
Підтверджено:
Системою
Дата:
31.05.2026 18:00
Тип підтвердження:
Автоматичний (24 години тайм-аут)
Історія підтверджень повинна зберігатися без обмеження терміну зберігання і бути доступна адміністратору для перегляду в будь-який момент.
Мультимовність
Повідомлення системи повинні відображатися на мові інтерфейсу користувача.
Мінімально необхідно передбачити:
• Українську мову
• Російську мову
• Англійську мову
Адміністративна частина
Адміністратор повинен мати можливість:
• переглядати всі уроки;
• переглядати статуси уроків;
• переглядати історію підтверджень;
• переглядати автоматично підтверджені уроки;
• переглядати Tutor No Show;
• переглядати Student No Show.
Пошук і фільтрація
Необхідно реалізувати пошук і фільтрацію уроків за статусами:
• Заплановано
• Підтверджено
• Очікує підтвердження
• Завершено
• Автоматично підтверджено
• Викладач не з'явився
• Студент не з'явився
• Скасовано
Базова статистика
Для викладача:
• всього уроків;
• завершених уроків;
• підтверджено студентом;
• автоматично підтверджено;
• Викладач не з'явився;
• Студент не з'явився.
Для студента:
• всього уроків;
• завершених уроків;
• Викладач не з'явився;
• Студент не з'явився;
• очікуючих підтвердження уроків.
Важливо
Даний проект не включає розробку Tutor Wallet і системи виплат викладачам.
Даний проект не включає адміністративну панель управління платформою.
Основна задача проекту: реалізувати систему підтвердження занять, контролю відвідуваності, зберігання історії підтверджень і пов'язаних статусів уроків.
Стек проекту
• Django
• React
Після успішного виконання проекту можливе подальше співробітництво по розвитку Student Dashboard, Tutor Dashboard, фінансової логіки платформи і системи виплат викладачам.