Атестаційні завдання K2 ERP/Сайт курсів навчання: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Сайт курсів навчання}} | |||
= Модуль обліку навчальних курсів, студентів, реєстрацій і прогресу на сайті онлайн- або офлайн-навчання = | '''Атестаційне завдання K2 ERP — Сайт курсів навчання''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку навчальних курсів, студентів, викладачів, реєстрацій, оплат, прогресу навчання, матеріалів, розкладу занять і сертифікатів. | ||
Модуль має забезпечувати повний цикл роботи навчального центру або онлайн-школи: створення курсу, публікацію програми, реєстрацію студента, оплату, доступ до матеріалів, облік прогресу, оцінювання, формування сертифіката і звітність. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль сайту курсів: курси, викладачі, студенти, групи, уроки, матеріали, реєстрації, оплати, прогрес навчання, домашні завдання, оцінки, календар занять, кабінет студента, кабінет викладача, сертифікати і звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль обліку навчальних курсів, студентів, реєстрацій і прогресу на сайті онлайн- або офлайн-навчання'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації роботи навчального центру, онлайн-школи, тренінгового центру, мовної школи, ІТ-академії або платформи курсів. | |||
Система повинна дозволяти: | |||
* вести курси; | |||
* вести категорії курсів; | |||
* вести викладачів; | |||
* вести студентів; | |||
* створювати навчальні групи; | |||
* налаштовувати формат навчання; | |||
* публікувати програму курсу; | |||
* створювати уроки; | |||
* додавати навчальні матеріали; | |||
* відкривати доступ до матеріалів після оплати; | |||
* реєструвати студентів на курси; | |||
* вести статус навчання; | |||
* відстежувати прогрес студентів; | |||
* вести відвідуваність для офлайн- або live-занять; | |||
* приймати оплати; | |||
* фіксувати часткові оплати; | |||
* формувати рахунки; | |||
* надсилати нагадування; | |||
* формувати сертифікати; | |||
* вести особистий кабінет студента; | |||
* вести кабінет викладача; | |||
* формувати звіти по курсах, студентах, оплатах і прогресу. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Студент має пройти зрозумілий шлях: вибір курсу → реєстрація → оплата → доступ до навчання → проходження уроків → оцінювання → завершення → сертифікат. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Навчальний центр або онлайн-школа проводить курси для студентів. Курси можуть бути онлайн, офлайн або змішаними. | |||
** | |||
** онлайн; | Навчальний заклад повинен: | ||
* веде | |||
* | * публікувати курси на сайті; | ||
* | * приймати заявки студентів; | ||
* | * формувати групи; | ||
* вести розклад занять; | |||
* відкривати доступ до матеріалів; | |||
* контролювати оплату; | |||
* бачити прогрес студентів; | |||
* виставляти оцінки; | |||
* формувати сертифікати; | |||
* аналізувати ефективність курсів і викладачів. | |||
== Формати навчання == | |||
Модуль має підтримувати кілька форматів навчання: | |||
* онлайн-курс у записі; | |||
* онлайн-курс із живими заняттями; | |||
* офлайн-курс у класі; | |||
* змішаний формат; | |||
* індивідуальні заняття; | |||
* групові заняття; | |||
* інтенсив; | |||
* марафон; | |||
* корпоративне навчання. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи виглядає так: | |||
# адміністратор створює курс; | |||
# додає опис, програму, ціну і викладача; | |||
# створює уроки та навчальні матеріали; | |||
# публікує курс на сайті; | |||
# студент реєструється на курс; | |||
# система створює запис реєстрації; | |||
# студент оплачує курс повністю або частково; | |||
# після оплати студент отримує доступ до матеріалів; | |||
# студент проходить уроки; | |||
# система оновлює прогрес; | |||
# викладач перевіряє завдання або виставляє оцінки; | |||
# після завершення курсу студент отримує сертифікат; | |||
# адміністратор формує звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Курси | |||
| Навчальні програми, які продаються або проводяться | |||
|- | |||
| Категорії курсів | |||
| Тематичне групування курсів | |||
|- | |||
| Викладачі | |||
| Автори або ведучі курсів | |||
|- | |||
| Студенти | |||
| Користувачі, які проходять навчання | |||
|- | |||
| Групи | |||
| Навчальні групи студентів | |||
|- | |||
| Уроки | |||
| Окремі теми або заняття курсу | |||
|- | |||
| Матеріали | |||
| Відео, файли, презентації, посилання, тести | |||
|- | |||
| Реєстрації | |||
| Записи студентів на курси | |||
|- | |||
| Оплати | |||
| Фінансові операції за навчання | |||
|- | |||
| Прогрес | |||
| Відсоток проходження курсу | |||
|- | |||
| Відвідуваність | |||
| Облік присутності на заняттях | |||
|- | |||
| Завдання | |||
| Домашні або практичні роботи | |||
|- | |||
| Оцінки | |||
| Результати навчання | |||
|- | |||
| Сертифікати | |||
| Документи про завершення курсу | |||
|- | |||
| Розклад | |||
| Календар занять і стартів курсів | |||
|- | |||
| Звіти | |||
| Аналітика навчання, оплат і результатів | |||
|} | |||
== Довідник «Категорії курсів» == | |||
Категорії допомагають структурувати курси на сайті. | |||
== Приклади категорій == | |||
* програмування; | |||
* дизайн; | |||
* маркетинг; | |||
* бізнес; | |||
* бухгалтерія; | |||
* іноземні мови; | |||
* управління; | |||
* фінанси; | |||
* особистий розвиток; | |||
* шкільні предмети; | |||
* підготовка до іспитів; | |||
* професійні курси. | |||
== Поля категорії == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва категорії | |||
| Наприклад: Програмування, Дизайн, Маркетинг | |||
|- | |||
| Опис | |||
| Короткий опис категорії | |||
|- | |||
| Батьківська категорія | |||
| Для багаторівневої структури | |||
|- | |||
| Статус | |||
| Активна або прихована | |||
|} | |||
== Довідник «Курси» == | |||
Довідник курсів містить навчальні програми. | |||
== Поля курсу == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва курсу | |||
| Назва навчальної програми | |||
|- | |||
| Категорія | |||
| Тематична група | |||
|- | |||
| Короткий опис | |||
| Для списку курсів | |||
|- | |||
| Повний опис | |||
| Детальний опис на сторінці курсу | |||
|- | |||
| Формат навчання | |||
| Онлайн, офлайн, змішаний | |||
|- | |||
| Тривалість | |||
| У годинах, днях, тижнях або місяцях | |||
|- | |||
| Вартість | |||
| Ціна курсу | |||
|- | |||
| Викладач | |||
| Основний викладач | |||
|- | |||
| Програма курсу | |||
| Теми або модулі | |||
|- | |||
| Дата старту | |||
| Якщо курс має конкретний старт | |||
|- | |||
| Максимальна кількість студентів | |||
| Для групового навчання | |||
|- | |||
| Статус | |||
| Чернетка, опубліковано, набір відкрито, завершено, архів | |||
|} | |||
== Статуси курсу == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Чернетка | |||
| Курс готується | |||
|- | |||
| Опубліковано | |||
| Курс доступний на сайті | |||
|- | |||
| Набір відкрито | |||
| Студенти можуть реєструватися | |||
|- | |||
| Набір закрито | |||
| Нові реєстрації не приймаються | |||
|- | |||
| Триває | |||
| Навчання вже почалося | |||
|- | |||
| Завершено | |||
| Курс завершений | |||
|- | |||
| Архів | |||
| Курс збережено для історії | |||
|} | |||
== Довідник «Викладачі» == | |||
Викладачі ведуть курси, перевіряють завдання та оцінюють студентів. | |||
== Поля викладача == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я викладача | |||
|- | |||
| Спеціалізація | |||
| Напрям навчання | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Фото | |||
| Опціонально | |||
|- | |||
| Коротка біографія | |||
| Для сторінки курсу | |||
|- | |||
| Статус | |||
| Активний або архівний | |||
|} | |||
== База «Студенти» == | |||
Студенти — користувачі, які реєструються на навчання. | |||
== Поля студента == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я студента | |||
|- | |||
| Email | |||
| Основний логін або контакт | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Дата народження | |||
| Опціонально | |||
|- | |||
| Місто / країна | |||
| Опціонально | |||
|- | |||
| Статус | |||
| Активний, завершив, відрахований, архівний | |||
|- | |||
| Особистий кабінет | |||
| Посилання або обліковий запис | |||
|- | |||
| Коментар | |||
| Службові примітки | |||
|} | |||
== База «Групи» == | |||
Групи потрібні для курсів із конкретним стартом або офлайн-заняттями. | |||
== Поля групи == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва групи | |||
| Наприклад: Python-01, English-A2 | |||
|- | |||
| Курс | |||
| До якого курсу належить група | |||
|- | |||
| Викладач | |||
| Хто веде групу | |||
|- | |||
| Дата старту | |||
| Коли починається навчання | |||
|- | |||
| Дата завершення | |||
| Коли завершується | |||
|- | |||
| Максимум студентів | |||
| Обмеження кількості | |||
|- | |||
| Статус | |||
| Набір, навчається, завершена, скасована | |||
|} | |||
== Уроки курсу == | |||
Уроки або модулі формують структуру навчання. | |||
== Поля уроку == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Курс | |||
| До якого курсу належить урок | |||
|- | |||
| Назва уроку | |||
| Тема заняття | |||
|- | |||
| Номер уроку | |||
| Порядок у курсі | |||
|- | |||
| Опис | |||
| Короткий зміст | |||
|- | |||
| Тип уроку | |||
| Відео, текст, live-заняття, тест, практика | |||
|- | |||
| Тривалість | |||
| Орієнтовна тривалість | |||
|- | |||
| Доступ | |||
| Відкритий, після оплати, після попереднього уроку | |||
|- | |||
| Статус | |||
| Чернетка, опубліковано, приховано | |||
|} | |||
== Навчальні матеріали == | |||
Матеріали прив’язуються до курсу або уроку. | |||
== Типи матеріалів == | |||
* відеоурок; | |||
* PDF; | |||
* презентація; | |||
* текстовий конспект; | |||
* посилання; | |||
* файл для завантаження; | |||
* тест; | |||
* домашнє завдання; | |||
* шаблон; | |||
* архів із матеріалами. | |||
== Поля матеріалу == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва матеріалу | |||
| Назва файлу або ресурсу | |||
|- | |||
| Курс | |||
| До якого курсу належить | |||
|- | |||
| Урок | |||
| До якого уроку належить | |||
|- | |||
| Тип матеріалу | |||
| Відео, PDF, тест, файл, посилання | |||
|- | |||
| Файл або URL | |||
| Джерело матеріалу | |||
|- | |||
| Доступ | |||
| Для всіх, тільки після оплати, тільки для групи | |||
|- | |||
| Статус | |||
| Активний або прихований | |||
|} | |||
== База «Реєстрації на курси» == | |||
Реєстрація фіксує, що студент записався на курс. | |||
== Колонки журналу реєстрацій == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Студент | |||
| Хто навчається | |||
|- | |||
| Курс | |||
| На який курс записано | |||
|- | |||
| Група | |||
| Якщо курс груповий | |||
|- | |||
| Дата реєстрації | |||
| Коли студент записався | |||
|- | |||
| Статус навчання | |||
| В процесі, завершено, відраховано | |||
|- | |||
| Прогрес | |||
| Відсоток виконання | |||
|- | |||
| Оплата | |||
| Не оплачено, частково оплачено, оплачено | |||
|- | |||
| Сертифікат | |||
| Сформовано або ні | |||
|} | |||
== Поля реєстрації == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Студент | |||
| Користувач, який навчається | |||
|- | |||
| Курс | |||
| Навчальний курс | |||
|- | |||
| Група | |||
| Група навчання, якщо є | |||
|- | |||
| Дата реєстрації | |||
| Дата запису | |||
|- | |||
| Вартість | |||
| Ціна курсу для студента | |||
|- | |||
| Оплачено | |||
| Скільки студент оплатив | |||
|- | |||
| Борг | |||
| Залишок до оплати | |||
|- | |||
| Статус оплати | |||
| Не оплачено, частково оплачено, оплачено | |||
|- | |||
| Статус навчання | |||
| Зареєстрований, навчається, завершив, відрахований | |||
|- | |||
| Прогрес | |||
| Відсоток проходження | |||
|} | |||
== Статуси навчання == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Зареєстрований | |||
| Студент записався на курс | |||
|- | |||
| Очікує оплати | |||
| Доступ ще не відкрито | |||
|- | |||
| Навчається | |||
| Студент проходить курс | |||
|- | |||
| На паузі | |||
| Навчання тимчасово призупинено | |||
|- | |||
| Завершив | |||
| Студент завершив курс | |||
|- | |||
| Відрахований | |||
| Студент більше не навчається | |||
|- | |||
| Скасовано | |||
| Реєстрацію скасовано | |||
|} | |||
== Прогрес навчання == | |||
Прогрес показує, скільки курсу студент уже пройшов. | |||
== Варіанти розрахунку прогресу == | |||
* за кількістю переглянутих уроків; | |||
* за кількістю виконаних завдань; | |||
* за результатами тестів; | |||
* вручну викладачем; | |||
* комбіновано. | |||
== Формула прогресу == | |||
<pre> | |||
Прогрес = Кількість пройдених уроків / Загальна кількість уроків × 100% | |||
</pre> | |||
== Відвідуваність == | |||
Для офлайн-курсів або live-занять потрібно вести відвідуваність. | |||
== Поля відвідуваності == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Група | |||
| Навчальна група | |||
|- | |||
| Урок | |||
| Заняття | |||
|- | |||
| Студент | |||
| Хто має бути присутній | |||
|- | |||
| Дата заняття | |||
| Коли відбулося заняття | |||
|- | |||
| Статус | |||
| Присутній, відсутній, запізнився, поважна причина | |||
|- | |||
| Коментар | |||
| Примітка викладача | |||
|} | |||
== Домашні завдання == | |||
Домашні завдання дозволяють контролювати практичну частину навчання. | |||
== Поля завдання == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Курс | |||
| До якого курсу належить | |||
|- | |||
| Урок | |||
| До якого уроку належить | |||
|- | |||
| Назва завдання | |||
| Що потрібно виконати | |||
|- | |||
| Опис | |||
| Детальна інструкція | |||
|- | |||
| Дедлайн | |||
| Кінцева дата здачі | |||
|- | |||
| Максимальний бал | |||
| Якщо використовується оцінювання | |||
|} | |||
== Відповіді студентів == | |||
Студенти можуть здавати завдання через особистий кабінет. | |||
== Поля відповіді == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Студент | |||
| Хто здав завдання | |||
|- | |||
| Завдання | |||
| Яке завдання виконано | |||
|- | |||
| Файл або текст | |||
| Відповідь студента | |||
|- | |||
| Дата здачі | |||
| Коли здано | |||
|- | |||
| Статус | |||
| На перевірці, прийнято, потрібно доопрацювати | |||
|- | |||
| Оцінка | |||
| Бал або результат | |||
|- | |||
| Коментар викладача | |||
| Зворотний зв’язок | |||
|} | |||
== Оцінювання == | |||
Оцінювання може бути простим або розширеним. | |||
== Варіанти оцінювання == | |||
* зараховано / не зараховано; | |||
* бали; | |||
* відсоток; | |||
* оцінка за шкалою; | |||
* коментар викладача; | |||
* автоматичний результат тесту. | |||
== Фінанси == | |||
Модуль повинен підтримувати фінансовий облік оплат за курси. | |||
== Варіанти оплати == | |||
* повна оплата; | |||
* часткова оплата; | |||
* передоплата; | |||
* оплата частинами; | |||
* корпоративна оплата; | |||
* безкоштовний доступ; | |||
* промокод або знижка. | |||
== Способи оплати == | |||
* ручна оплата; | |||
* банківський переказ; | |||
* LiqPay; | |||
* Stripe; | |||
* PayPal; | |||
* інший платіжний шлюз. | |||
== Поля оплати == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Студент | |||
| Хто оплатив | |||
|- | |||
| Курс | |||
| За який курс оплата | |||
|- | |||
| Реєстрація | |||
| До якої реєстрації прив’язана | |||
|- | |||
| Дата оплати | |||
| Коли отримано оплату | |||
|- | |||
| Сума | |||
| Розмір оплати | |||
|- | |||
| Спосіб оплати | |||
| Ручна, картка, переказ, онлайн-шлюз | |||
|- | |||
| Статус | |||
| Очікує, оплачено, помилка, повернення | |||
|} | |||
== Доступ до матеріалів == | |||
Система повинна контролювати доступ студента до курсу. | |||
== Правила доступу == | |||
* безкоштовні матеріали доступні всім; | |||
* платні матеріали доступні після оплати; | |||
* наступний урок може відкриватися після проходження попереднього; | |||
* матеріали групи доступні тільки студентам цієї групи; | |||
* після завершення курсу доступ може залишатися або закриватися залежно від налаштувань. | |||
== Сертифікати == | |||
Сертифікат формується після завершення курсу. | |||
== Умови формування сертифіката == | |||
* студент оплатив курс; | |||
* прогрес досягнув потрібного рівня; | |||
* виконані обов’язкові завдання; | |||
* пройдено фінальний тест, якщо є; | |||
* викладач підтвердив завершення. | |||
== Поля сертифіката == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер сертифіката | |||
| Унікальний номер | |||
|- | |||
| Студент | |||
| Кому видано | |||
|- | |||
| Курс | |||
| Який курс завершено | |||
|- | |||
| Дата видачі | |||
| Коли сформовано | |||
|- | |||
| Викладач | |||
| Хто вів курс | |||
|- | |||
| Результат | |||
| Оцінка або статус завершення | |||
|- | |||
| PDF-файл | |||
| Згенерований сертифікат | |||
|} | |||
== Особистий кабінет студента == | |||
Кабінет студента є важливою частиною модуля. | |||
== Студент у кабінеті бачить == | |||
* свої курси; | |||
* статус оплати; | |||
* прогрес навчання; | |||
* доступні уроки; | |||
* навчальні матеріали; | |||
* домашні завдання; | |||
* оцінки; | |||
* коментарі викладача; | |||
* розклад занять; | |||
* сертифікати; | |||
* історію оплат. | |||
== | == Кабінет викладача == | ||
Кабінет викладача потрібен для управління навчальним процесом. | |||
== Викладач у кабінеті бачить == | |||
* свої курси; | |||
* свої групи; | |||
* список студентів; | |||
* прогрес студентів; | |||
* відвідуваність; | |||
* здані домашні завдання; | |||
* інструменти оцінювання; | |||
* коментарі до робіт; | |||
* календар занять. | |||
== Календар курсів і занять == | |||
Календар потрібен для планування стартів і live-занять. | |||
== | == У календарі потрібно бачити == | ||
* | * старт курсу; | ||
* | * заняття групи; | ||
* | * дедлайни завдань; | ||
* | * вебінари; | ||
* | * консультації; | ||
* завершення курсу; | |||
* | * дати сертифікації. | ||
* | |||
== | == Сповіщення == | ||
Система має надсилати повідомлення студентам, викладачам і адміністраторам. | |||
* студент; | == Події для сповіщень == | ||
* студент зареєструвався на курс; | |||
* отримано оплату; | |||
* відкрито доступ до матеріалів; | |||
* курс починається завтра; | |||
* заняття починається сьогодні; | |||
* наближається дедлайн завдання; | |||
* викладач перевірив завдання; | |||
* студент завершив курс; | |||
* сформовано сертифікат; | |||
* оплата прострочена. | |||
== Звіти == | |||
== Звіт «Студенти курсів» == | |||
У звіті потрібно відображати: | |||
* курс; | |||
* студента; | |||
* групу; | |||
* статус навчання; | |||
* прогрес; | |||
* статус оплати; | |||
* дату реєстрації. | |||
== Звіт «Оплати за курси» == | |||
У звіті потрібно відображати: | |||
* дату оплати; | |||
* студента; | |||
* курс; | * курс; | ||
* | * суму; | ||
* | * спосіб оплати; | ||
* статус; | |||
* | * борг. | ||
* | |||
== | == Звіт «Прогрес студентів» == | ||
У звіті потрібно відображати: | |||
* студента; | |||
* курс; | |||
* кількість пройдених уроків; | |||
* прогрес у відсотках; | |||
* кількість зданих завдань; | |||
* середню оцінку. | |||
== Звіт «Відвідуваність» == | |||
У звіті потрібно відображати: | |||
* | * групу; | ||
* | * дату заняття; | ||
* | * студента; | ||
* | * статус присутності; | ||
* | * коментар. | ||
== | == Звіт «Ефективність курсів» == | ||
* | У звіті потрібно відображати: | ||
* | |||
* | * курс; | ||
** | * кількість реєстрацій; | ||
** | * кількість оплат; | ||
* | * дохід; | ||
** | * кількість студентів, які завершили курс; | ||
** | * середній прогрес; | ||
** | * кількість виданих сертифікатів. | ||
** | |||
* | == Звіт «Робота викладачів» == | ||
** | |||
** | У звіті потрібно відображати: | ||
* | |||
* викладача; | |||
* кількість курсів; | |||
* кількість студентів; | |||
* кількість перевірених завдань; | |||
* середній прогрес студентів; | |||
* оцінки або відгуки, якщо реалізовано. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко і без перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* реєстрація студента; | |||
* вибір курсу; | |||
* фільтрація курсів; | |||
* створення реєстрації; | |||
* фіксація оплати; | |||
* оновлення прогресу; | |||
* відкриття доступу до матеріалів; | |||
* здача домашнього завдання; | |||
* перевірка завдання; | |||
* виставлення оцінки; | |||
* формування сертифіката; | |||
* фільтрація звітів; | |||
* оновлення календаря. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
Журнал змін має зберігати: | |||
* хто створив курс; | |||
* хто змінив вартість курсу; | |||
* хто додав урок; | |||
* хто додав матеріал; | |||
* хто зареєстрував студента; | |||
* хто зафіксував оплату; | |||
* хто відкрив доступ до курсу; | |||
* хто змінив прогрес; | |||
* хто виставив оцінку; | |||
* хто сформував сертифікат; | |||
* хто скасував реєстрацію; | |||
* хто експортував звіт; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Адміністратор навчального центру | |||
| Керує курсами, студентами, викладачами, оплатами, групами і звітами | |||
|- | |||
| Менеджер | |||
| Реєструє студентів, фіксує оплати, працює з заявками і сповіщеннями | |||
|- | |||
| Викладач | |||
| Бачить свої курси, групи, студентів, завдання, прогрес і оцінки | |||
|- | |||
| Студент | |||
| Переглядає свої курси, матеріали, прогрес, завдання, оплати і сертифікати | |||
|- | |||
| Бухгалтер | |||
| Переглядає рахунки, оплати, борги і фінансові звіти | |||
|- | |||
| Адміністратор системи | |||
| Налаштовує права, довідники, шаблони сертифікатів і службові параметри | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |||
| Бекенд | |||
| K2 Cloud ERP на Python або PHP | |||
|- | |||
| База даних | |||
| PostgreSQL або MySQL | |||
|- | |||
| Фронтенд | |||
| HTML5, JavaScript | |||
|- | |- | ||
| | | AJAX | ||
| | | Fetch API або Axios | ||
|- | |- | ||
| | | UI-компоненти | ||
| | | DataTables для реєстрацій і студентів, Select2 для вибору курсів, FullCalendar для графіка курсів | ||
|- | |- | ||
| | | Матеріали | ||
| | | Завантаження PDF, відео, презентацій, файлів і посилань | ||
|- | |- | ||
| | | Оплати | ||
| | | Інтеграція з платіжними шлюзами, опціонально | ||
|- | |- | ||
|Друк | | Друк | ||
| | | PDF-сертифікати, рахунки, списки студентів | ||
|- | |||
| Експорт | |||
| Excel або PDF для звітів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* категорії курсів; | |||
* курси; | |||
* викладачі; | |||
* студенти; | |||
* групи; | |||
* уроки; | |||
* навчальні матеріали; | |||
* реєстрації на курси; | |||
* оплати; | |||
* прогрес навчання; | |||
* відвідуваність; | |||
* домашні завдання; | |||
* відповіді студентів; | |||
* оцінки; | |||
* сертифікати; | |||
* розклад; | |||
* сповіщення; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити категорію курсів; | |||
# створити викладача; | |||
# створити курс; | |||
# додати програму курсу; | |||
# додати уроки; | |||
# додати навчальні матеріали; | |||
# створити студента; | |||
# зареєструвати студента на курс; | |||
# сформувати рахунок або суму до оплати; | |||
# зафіксувати часткову оплату; | |||
# зафіксувати повну оплату; | |||
# відкрити доступ до матеріалів після оплати; | |||
# оновити прогрес студента; | |||
# створити домашнє завдання; | |||
# здати відповідь від студента; | |||
# виставити оцінку; | |||
# завершити курс для студента; | |||
# сформувати сертифікат; | |||
# сформувати звіт по студентах; | |||
# сформувати звіт по оплатах; | |||
# сформувати звіт по прогресу; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація обліку курсів, студентів і викладачів | |||
| 20 | |||
| Категорії, курси, програма, уроки, викладачі, студенти, групи | |||
|- | |||
| Управління реєстраціями і прогресом навчання | |||
| 20 | |||
| Реєстрації, статуси навчання, прогрес, відвідуваність, завдання, оцінки | |||
|- | |||
| Фінансовий облік оплат курсів | |||
| 20 | |||
| Вартість, рахунки, часткові оплати, повні оплати, борги, статуси оплат | |||
|- | |- | ||
| | | Генерація сертифікатів про завершення | ||
|20 | | 20 | ||
| Умови завершення, сертифікат, PDF, номер сертифіката, дата видачі | |||
|- | |- | ||
| | | Інтерактивність через AJAX і особисті кабінети | ||
|20 | | 20 | ||
| AJAX-реєстрації, прогрес, завдання, оцінки, кабінет студента, кабінет викладача | |||
|- | |- | ||
| | ! Разом | ||
| | ! 100 | ||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |- | ||
| | | 90–100 | ||
| | | Відмінно | ||
| Модуль повністю працює: курси, викладачі, студенти, реєстрації, оплати, прогрес, матеріали, кабінети, сертифікати й звіти реалізовані коректно | |||
|- | |- | ||
| | | 75–89 | ||
| | | Добре | ||
| Основна логіка працює, є незначні недоліки, які не руйнують навчальний процес | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: курси, студенти, реєстрації, оплати, прогрес або сертифікати | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити курс; | |||
* неможливо створити викладача; | |||
* неможливо створити студента; | |||
* неможливо зареєструвати студента на курс; | |||
* реєстрація не прив’язується до курсу; | |||
* реєстрація не прив’язується до студента; | |||
* оплата не прив’язується до реєстрації; | |||
* часткова оплата не змінює борг; | |||
* доступ до платних матеріалів відкривається без оплати, якщо це заборонено правилами; | |||
* прогрес не оновлюється; | |||
* завершення курсу не фіксується; | |||
* сертифікат формується без виконання умов завершення; | |||
* звіти не відповідають фактичним реєстраціям, оплатам і прогресу; | |||
* зміни курсів, оплат, прогресу і сертифікатів не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл навчання: курс → студент → реєстрація → оплата → доступ → прогрес → завершення → сертифікат → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль сайту курсів навчання в K2 ERP. | |||
Модуль має підтримувати категорії курсів, курси, викладачів, студентів, групи, уроки, навчальні матеріали, реєстрації, оплати, прогрес, відвідуваність, домашні завдання, відповіді студентів, оцінки, сертифікати, розклад, сповіщення, особисті кабінети, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
ERP для курсів навчання потрібна школам, тренінговим центрам, онлайн-академіям, мовним школам, ІТ-школам, автошколам і корпоративним навчальним центрам. | |||
Такий модуль дозволяє масштабувати навчання, контролювати оплату, бачити прогрес студентів, зменшити ручну роботу адміністратора і підвищити якість сервісу. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль сайту курсів навчання | |||
|- | |||
| Які довідники потрібні? | |||
| Категорії курсів, курси, викладачі, студенти, групи | |||
|- | |||
| Який головний процес? | |||
| Реєстрація студента на курс, оплата, навчання, прогрес і сертифікат | |||
|- | |||
| Що потрібно для онлайн-курсу? | |||
| Уроки, матеріали, доступ після оплати, прогрес | |||
|- | |||
| Що потрібно для офлайн-курсу? | |||
| Групи, розклад, відвідуваність, викладач | |||
|- | |||
| Які фінанси потрібні? | |||
| Вартість курсу, рахунки, часткові оплати, повні оплати, борги | |||
|- | |||
| Які звіти потрібні? | |||
| Студенти, оплати, прогрес, відвідуваність, ефективність курсів, робота викладачів | |||
|- | |||
| Що є критичною вимогою? | |||
| Студент має отримати доступ, прогрес і сертифікат тільки за правильними правилами курсу | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Навчальний заклад]] | |||
* [[CRM]] | |||
* [[Каса]] | |||
* [[Сертифікат]] | |||
* [[Студент]] | |||
* [[Викладач]] | |||
* [[Курс]] | |||
* [[Розклад]] | |||
* [[Особистий кабінет]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Освіта]] | |||
[[Категорія:Онлайн-навчання]] | |||
[[Категорія:Курси]] | |||
[[Категорія:CRM]] | |||
[[Категорія:Корпоративна Wiki]] | |||