Перейти до вмісту

Атестаційні завдання K2 ERP/Сайт курсів навчання: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Первинна публікація
 
Немає опису редагування
 
Рядок 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-файл
| Згенерований сертифікат
|}
 
== Особистий кабінет студента ==


Необхідно:
Кабінет студента є важливою частиною модуля.


* вести базу курсів і викладачів;
== Студент у кабінеті бачить ==
* організувати реєстрацію студентів на курси;
* відслідковувати прогрес студентів;
* приймати платежі і вести фінансовий облік.


== Основні завдання ==
* свої курси;
* статус оплати;
* прогрес навчання;
* доступні уроки;
* навчальні матеріали;
* домашні завдання;
* оцінки;
* коментарі викладача;
* розклад занять;
* сертифікати;
* історію оплат.


=== 1. Структура довідників ===
== Кабінет викладача ==


==== Довідник «Курси» ====
Кабінет викладача потрібен для управління навчальним процесом.
Поля довідника:


* назва курсу;
== Викладач у кабінеті бачить ==
* опис курсу;
* формат навчання:
** онлайн;
** офлайн;
* тривалість курсу:
** в годинах;
** в днях;
* вартість курсу;
* програма навчання — основні теми;
* викладач.


==== Довідник «Викладачі» ====
* свої курси;
Поля довідника:
* свої групи;
* список студентів;
* прогрес студентів;
* відвідуваність;
* здані домашні завдання;
* інструменти оцінювання;
* коментарі до робіт;
* календар занять.


* ПІБ;
== Календар курсів і занять ==
* спеціалізація;
* телефон;
* email;
* фото — опціонально;
* коротка біографія.


=== 2. База «Студенти» ===
Календар потрібен для планування стартів і live-занять.


==== Колонки бази ====
== У календарі потрібно бачити ==


* ПІБ;
* старт курсу;
* email;
* заняття групи;
* телефон;
* дедлайни завдань;
* дата народження;
* вебінари;
* статус:
* консультації;
** активний;
* завершення курсу;
** завершив;
* дати сертифікації.
** відрахований;
* додатково:
** посилання на профіль — особистий кабінет.


=== 3. База «Реєстрації на курси» ===
== Сповіщення ==


==== Колонки бази ====
Система має надсилати повідомлення студентам, викладачам і адміністраторам.


* студент;
== Події для сповіщень ==
 
* студент зареєструвався на курс;
* отримано оплату;
* відкрито доступ до матеріалів;
* курс починається завтра;
* заняття починається сьогодні;
* наближається дедлайн завдання;
* викладач перевірив завдання;
* студент завершив курс;
* сформовано сертифікат;
* оплата прострочена.
 
== Звіти ==
 
== Звіт «Студенти курсів» ==
 
У звіті потрібно відображати:
 
* курс;
* студента;
* групу;
* статус навчання;
* прогрес;
* статус оплати;
* дату реєстрації.
 
== Звіт «Оплати за курси» ==
 
У звіті потрібно відображати:
 
* дату оплати;
* студента;
* курс;
* курс;
* дата реєстрації;
* суму;
* статус навчання:
* спосіб оплати;
** в процесі;
* статус;
** завершено;
* борг.
** відраховано;
* прогрес — % виконання, якщо онлайн-курс;
* оплата:
** так;
** ні;
* сума сплати.


==== Функціонал ====
== Звіт «Прогрес студентів» ==


* онлайн-реєстрація через сайт;
У звіті потрібно відображати:
* прив’язка оплати до реєстрації;
* формування сертифіката після завершення курсу.


=== 4. Навчальні матеріали, опціонально ===
* студента;
* курс;
* кількість пройдених уроків;
* прогрес у відсотках;
* кількість зданих завдань;
* середню оцінку.


* файли і відео-уроки, прив’язані до курсу;
== Звіт «Відвідуваність» ==
* можливість відкривати доступ студенту тільки після оплати;
* відстеження:
** перегляду відео;
** пройдених тем.


=== 5. Фінанси ===
У звіті потрібно відображати:
Функціонал:


* генерація рахунків за курси;
* групу;
* оплата:
* дату заняття;
** онлайн через LiqPay, Stripe, PayPal або інший шлюз;
* студента;
** вручну;
* статус присутності;
* статистика платежів за курси.
* коментар.


=== 6. Додаткові функції ===
== Звіт «Ефективність курсів» ==


* робота через AJAX для швидкої реєстрації і оновлення прогресу;
У звіті потрібно відображати:
* календар старту курсів і занять — FullCalendar;
 
* автоматичне нагадування студентам:
* курс;
** про початок курсу;
* кількість реєстрацій;
** про дедлайни завдань;
* кількість оплат;
* особистий кабінет студента:
* дохід;
** мої курси;
* кількість студентів, які завершили курс;
** прогрес навчання;
* середній прогрес;
** оплати;
* кількість виданих сертифікатів.
** завантаження сертифікатів;
 
* кабінет викладача:
== Звіт «Робота викладачів» ==
** список курсів і студентів;
 
** оцінювання студентів;
У звіті потрібно відображати:
** комунікація зі студентами.
 
* викладача;
* кількість курсів;
* кількість студентів;
* кількість перевірених завдань;
* середній прогрес студентів;
* оцінки або відгуки, якщо реалізовано.
 
== AJAX-інтерактив ==
 
Інтерфейс має працювати швидко і без перезавантаження сторінок.
 
Через AJAX мають працювати:
 
* реєстрація студента;
* вибір курсу;
* фільтрація курсів;
* створення реєстрації;
* фіксація оплати;
* оновлення прогресу;
* відкриття доступу до матеріалів;
* здача домашнього завдання;
* перевірка завдання;
* виставлення оцінки;
* формування сертифіката;
* фільтрація звітів;
* оновлення календаря.
 
== Логування змін ==
 
Модуль повинен фіксувати важливі дії.
 
Журнал змін має зберігати:
 
* хто створив курс;
* хто змінив вартість курсу;
* хто додав урок;
* хто додав матеріал;
* хто зареєстрував студента;
* хто зафіксував оплату;
* хто відкрив доступ до курсу;
* хто змінив прогрес;
* хто виставив оцінку;
* хто сформував сертифікат;
* хто скасував реєстрацію;
* хто експортував звіт;
* дату й час дії;
* старе та нове значення, якщо це можливо.
 
== Права доступу ==
 
Модуль має підтримувати розмежування прав.
 
{| class="wikitable" style="width:100%;"
! Роль
! Можливості
|-
| Адміністратор навчального центру
| Керує курсами, студентами, викладачами, оплатами, групами і звітами
|-
| Менеджер
| Реєструє студентів, фіксує оплати, працює з заявками і сповіщеннями
|-
| Викладач
| Бачить свої курси, групи, студентів, завдання, прогрес і оцінки
|-
| Студент
| Переглядає свої курси, матеріали, прогрес, завдання, оплати і сертифікати
|-
| Бухгалтер
| Переглядає рахунки, оплати, борги і фінансові звіти
|-
| Адміністратор системи
| Налаштовує права, довідники, шаблони сертифікатів і службові параметри
|}


== Технічні вимоги ==
== Технічні вимоги ==
{| class="wikitable"
 
!Параметр
{| class="wikitable" style="width:100%;"
!Опис
! Параметр
! Опис
|-
| Бекенд
| K2 Cloud ERP на Python або PHP
|-
| База даних
| PostgreSQL або MySQL
|-
| Фронтенд
| HTML5, JavaScript
|-
|-
|Бекенд
| AJAX
|K2 Cloud ERP на Python або PHP
| Fetch API або Axios
|-
|-
|БД
| UI-компоненти
|PostgreSQL або MySQL
| DataTables для реєстрацій і студентів, Select2 для вибору курсів, FullCalendar для графіка курсів
|-
|-
|Фронтенд
| Матеріали
|HTML5, JavaScript, AJAX, Fetch API або Axios
| Завантаження PDF, відео, презентацій, файлів і посилань
|-
|-
|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-реєстрації, прогрес, завдання, оцінки, кабінет студента, кабінет викладача
|-
|-
|Фінансовий облік оплат курсів
! Разом
|20
! 100
! Максимальна оцінка
|}
 
== Шкала оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
|-
|Генерація сертифікатів про завершення
| 90–100
|20
| Відмінно
| Модуль повністю працює: курси, викладачі, студенти, реєстрації, оплати, прогрес, матеріали, кабінети, сертифікати й звіти реалізовані коректно
|-
|-
|Інтерактивність через AJAX і особисті кабінети
| 75–89
|20
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують навчальний процес
|-
| 60–74
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: курси, студенти, реєстрації, оплати, прогрес або сертифікати
|}
|}
== Критичні помилки ==
Критичними помилками вважаються ситуації, коли:
* неможливо створити курс;
* неможливо створити викладача;
* неможливо створити студента;
* неможливо зареєструвати студента на курс;
* реєстрація не прив’язується до курсу;
* реєстрація не прив’язується до студента;
* оплата не прив’язується до реєстрації;
* часткова оплата не змінює борг;
* доступ до платних матеріалів відкривається без оплати, якщо це заборонено правилами;
* прогрес не оновлюється;
* завершення курсу не фіксується;
* сертифікат формується без виконання умов завершення;
* звіти не відповідають фактичним реєстраціям, оплатам і прогресу;
* зміни курсів, оплат, прогресу і сертифікатів не логуються.
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл навчання: курс → студент → реєстрація → оплата → доступ → прогрес → завершення → сертифікат → звіт.
</div>
== Очікуваний результат ==
У результаті виконання атестаційного завдання має бути створений модуль сайту курсів навчання в K2 ERP.
Модуль має підтримувати категорії курсів, курси, викладачів, студентів, групи, уроки, навчальні матеріали, реєстрації, оплати, прогрес, відвідуваність, домашні завдання, відповіді студентів, оцінки, сертифікати, розклад, сповіщення, особисті кабінети, звіти, AJAX-інтерактив і логування змін.


== Примітка ==
== Примітка ==
ERP для курсів навчання — критично важлива для масштабування:


* шкіл;
ERP для курсів навчання потрібна школам, тренінговим центрам, онлайн-академіям, мовним школам, ІТ-школам, автошколам і корпоративним навчальним центрам.
* тренінгових центрів;
 
* онлайн-освітніх проектів.
Такий модуль дозволяє масштабувати навчання, контролювати оплату, бачити прогрес студентів, зменшити ручну роботу адміністратора і підвищити якість сервісу.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль сайту курсів навчання
|-
| Які довідники потрібні?
| Категорії курсів, курси, викладачі, студенти, групи
|-
| Який головний процес?
| Реєстрація студента на курс, оплата, навчання, прогрес і сертифікат
|-
| Що потрібно для онлайн-курсу?
| Уроки, матеріали, доступ після оплати, прогрес
|-
| Що потрібно для офлайн-курсу?
| Групи, розклад, відвідуваність, викладач
|-
| Які фінанси потрібні?
| Вартість курсу, рахунки, часткові оплати, повні оплати, борги
|-
| Які звіти потрібні?
| Студенти, оплати, прогрес, відвідуваність, ефективність курсів, робота викладачів
|-
| Що є критичною вимогою?
| Студент має отримати доступ, прогрес і сертифікат тільки за правильними правилами курсу
|}
 
== Див. також ==


Вона дозволяє:
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Навчальний заклад]]
* [[CRM]]
* [[Каса]]
* [[Сертифікат]]
* [[Студент]]
* [[Викладач]]
* [[Курс]]
* [[Розклад]]
* [[Особистий кабінет]]
* [[AJAX]]


* зручно керувати учнями;
[[Категорія:K2 ERP]]
* ефективно моніторити успішність;
[[Категорія:Атестаційні завдання K2]]
* забезпечувати якісний сервіс.
[[Категорія:Освіта]]
[[Категорія:Онлайн-навчання]]
[[Категорія:Курси]]
[[Категорія:CRM]]
[[Категорія:Корпоративна Wiki]]

Поточна версія на 20:37, 1 травня 2026


Атестаційне завдання K2 ERP — Сайт курсів навчання — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку навчальних курсів, студентів, викладачів, реєстрацій, оплат, прогресу навчання, матеріалів, розкладу занять і сертифікатів.

Модуль має забезпечувати повний цикл роботи навчального центру або онлайн-школи: створення курсу, публікацію програми, реєстрацію студента, оплату, доступ до матеріалів, облік прогресу, оцінювання, формування сертифіката і звітність.

Коротко. Потрібно реалізувати модуль сайту курсів: курси, викладачі, студенти, групи, уроки, матеріали, реєстрації, оплати, прогрес навчання, домашні завдання, оцінки, календар занять, кабінет студента, кабінет викладача, сертифікати і звіти.

Назва завдання

Модуль обліку навчальних курсів, студентів, реєстрацій і прогресу на сайті онлайн- або офлайн-навчання.

Мета завдання

Мета завдання — створити в K2 ERP модуль для автоматизації роботи навчального центру, онлайн-школи, тренінгового центру, мовної школи, ІТ-академії або платформи курсів.

Система повинна дозволяти:

  • вести курси;
  • вести категорії курсів;
  • вести викладачів;
  • вести студентів;
  • створювати навчальні групи;
  • налаштовувати формат навчання;
  • публікувати програму курсу;
  • створювати уроки;
  • додавати навчальні матеріали;
  • відкривати доступ до матеріалів після оплати;
  • реєструвати студентів на курси;
  • вести статус навчання;
  • відстежувати прогрес студентів;
  • вести відвідуваність для офлайн- або live-занять;
  • приймати оплати;
  • фіксувати часткові оплати;
  • формувати рахунки;
  • надсилати нагадування;
  • формувати сертифікати;
  • вести особистий кабінет студента;
  • вести кабінет викладача;
  • формувати звіти по курсах, студентах, оплатах і прогресу.

Головний принцип. Студент має пройти зрозумілий шлях: вибір курсу → реєстрація → оплата → доступ до навчання → проходження уроків → оцінювання → завершення → сертифікат.

Реальний бізнес-контекст

Навчальний центр або онлайн-школа проводить курси для студентів. Курси можуть бути онлайн, офлайн або змішаними.

Навчальний заклад повинен:

  • публікувати курси на сайті;
  • приймати заявки студентів;
  • формувати групи;
  • вести розклад занять;
  • відкривати доступ до матеріалів;
  • контролювати оплату;
  • бачити прогрес студентів;
  • виставляти оцінки;
  • формувати сертифікати;
  • аналізувати ефективність курсів і викладачів.

Формати навчання

Модуль має підтримувати кілька форматів навчання:

  • онлайн-курс у записі;
  • онлайн-курс із живими заняттями;
  • офлайн-курс у класі;
  • змішаний формат;
  • індивідуальні заняття;
  • групові заняття;
  • інтенсив;
  • марафон;
  • корпоративне навчання.

Основний бізнес-процес

Типовий процес роботи виглядає так:

  1. адміністратор створює курс;
  2. додає опис, програму, ціну і викладача;
  3. створює уроки та навчальні матеріали;
  4. публікує курс на сайті;
  5. студент реєструється на курс;
  6. система створює запис реєстрації;
  7. студент оплачує курс повністю або частково;
  8. після оплати студент отримує доступ до матеріалів;
  9. студент проходить уроки;
  10. система оновлює прогрес;
  11. викладач перевіряє завдання або виставляє оцінки;
  12. після завершення курсу студент отримує сертифікат;
  13. адміністратор формує звіти.

Основні об’єкти модуля

Об’єкт Призначення
Курси Навчальні програми, які продаються або проводяться
Категорії курсів Тематичне групування курсів
Викладачі Автори або ведучі курсів
Студенти Користувачі, які проходять навчання
Групи Навчальні групи студентів
Уроки Окремі теми або заняття курсу
Матеріали Відео, файли, презентації, посилання, тести
Реєстрації Записи студентів на курси
Оплати Фінансові операції за навчання
Прогрес Відсоток проходження курсу
Відвідуваність Облік присутності на заняттях
Завдання Домашні або практичні роботи
Оцінки Результати навчання
Сертифікати Документи про завершення курсу
Розклад Календар занять і стартів курсів
Звіти Аналітика навчання, оплат і результатів

Довідник «Категорії курсів»

Категорії допомагають структурувати курси на сайті.

Приклади категорій

  • програмування;
  • дизайн;
  • маркетинг;
  • бізнес;
  • бухгалтерія;
  • іноземні мови;
  • управління;
  • фінанси;
  • особистий розвиток;
  • шкільні предмети;
  • підготовка до іспитів;
  • професійні курси.

Поля категорії

Поле Опис
Назва категорії Наприклад: Програмування, Дизайн, Маркетинг
Опис Короткий опис категорії
Батьківська категорія Для багаторівневої структури
Статус Активна або прихована

Довідник «Курси»

Довідник курсів містить навчальні програми.

Поля курсу

Поле Опис
Назва курсу Назва навчальної програми
Категорія Тематична група
Короткий опис Для списку курсів
Повний опис Детальний опис на сторінці курсу
Формат навчання Онлайн, офлайн, змішаний
Тривалість У годинах, днях, тижнях або місяцях
Вартість Ціна курсу
Викладач Основний викладач
Програма курсу Теми або модулі
Дата старту Якщо курс має конкретний старт
Максимальна кількість студентів Для групового навчання
Статус Чернетка, опубліковано, набір відкрито, завершено, архів

Статуси курсу

Статус Значення
Чернетка Курс готується
Опубліковано Курс доступний на сайті
Набір відкрито Студенти можуть реєструватися
Набір закрито Нові реєстрації не приймаються
Триває Навчання вже почалося
Завершено Курс завершений
Архів Курс збережено для історії

Довідник «Викладачі»

Викладачі ведуть курси, перевіряють завдання та оцінюють студентів.

Поля викладача

Поле Опис
ПІБ Повне ім’я викладача
Спеціалізація Напрям навчання
Телефон Контактний номер
Email Електронна адреса
Фото Опціонально
Коротка біографія Для сторінки курсу
Статус Активний або архівний

База «Студенти»

Студенти — користувачі, які реєструються на навчання.

Поля студента

Поле Опис
ПІБ Повне ім’я студента
Email Основний логін або контакт
Телефон Контактний номер
Дата народження Опціонально
Місто / країна Опціонально
Статус Активний, завершив, відрахований, архівний
Особистий кабінет Посилання або обліковий запис
Коментар Службові примітки

База «Групи»

Групи потрібні для курсів із конкретним стартом або офлайн-заняттями.

Поля групи

Поле Опис
Назва групи Наприклад: Python-01, English-A2
Курс До якого курсу належить група
Викладач Хто веде групу
Дата старту Коли починається навчання
Дата завершення Коли завершується
Максимум студентів Обмеження кількості
Статус Набір, навчається, завершена, скасована

Уроки курсу

Уроки або модулі формують структуру навчання.

Поля уроку

Поле Опис
Курс До якого курсу належить урок
Назва уроку Тема заняття
Номер уроку Порядок у курсі
Опис Короткий зміст
Тип уроку Відео, текст, live-заняття, тест, практика
Тривалість Орієнтовна тривалість
Доступ Відкритий, після оплати, після попереднього уроку
Статус Чернетка, опубліковано, приховано

Навчальні матеріали

Матеріали прив’язуються до курсу або уроку.

Типи матеріалів

  • відеоурок;
  • PDF;
  • презентація;
  • текстовий конспект;
  • посилання;
  • файл для завантаження;
  • тест;
  • домашнє завдання;
  • шаблон;
  • архів із матеріалами.

Поля матеріалу

Поле Опис
Назва матеріалу Назва файлу або ресурсу
Курс До якого курсу належить
Урок До якого уроку належить
Тип матеріалу Відео, PDF, тест, файл, посилання
Файл або URL Джерело матеріалу
Доступ Для всіх, тільки після оплати, тільки для групи
Статус Активний або прихований

База «Реєстрації на курси»

Реєстрація фіксує, що студент записався на курс.

Колонки журналу реєстрацій

Колонка Опис
Студент Хто навчається
Курс На який курс записано
Група Якщо курс груповий
Дата реєстрації Коли студент записався
Статус навчання В процесі, завершено, відраховано
Прогрес Відсоток виконання
Оплата Не оплачено, частково оплачено, оплачено
Сертифікат Сформовано або ні

Поля реєстрації

Поле Опис
Студент Користувач, який навчається
Курс Навчальний курс
Група Група навчання, якщо є
Дата реєстрації Дата запису
Вартість Ціна курсу для студента
Оплачено Скільки студент оплатив
Борг Залишок до оплати
Статус оплати Не оплачено, частково оплачено, оплачено
Статус навчання Зареєстрований, навчається, завершив, відрахований
Прогрес Відсоток проходження

Статуси навчання

Статус Значення
Зареєстрований Студент записався на курс
Очікує оплати Доступ ще не відкрито
Навчається Студент проходить курс
На паузі Навчання тимчасово призупинено
Завершив Студент завершив курс
Відрахований Студент більше не навчається
Скасовано Реєстрацію скасовано

Прогрес навчання

Прогрес показує, скільки курсу студент уже пройшов.

Варіанти розрахунку прогресу

  • за кількістю переглянутих уроків;
  • за кількістю виконаних завдань;
  • за результатами тестів;
  • вручну викладачем;
  • комбіновано.

Формула прогресу

Прогрес = Кількість пройдених уроків / Загальна кількість уроків × 100%

Відвідуваність

Для офлайн-курсів або live-занять потрібно вести відвідуваність.

Поля відвідуваності

Поле Опис
Група Навчальна група
Урок Заняття
Студент Хто має бути присутній
Дата заняття Коли відбулося заняття
Статус Присутній, відсутній, запізнився, поважна причина
Коментар Примітка викладача

Домашні завдання

Домашні завдання дозволяють контролювати практичну частину навчання.

Поля завдання

Поле Опис
Курс До якого курсу належить
Урок До якого уроку належить
Назва завдання Що потрібно виконати
Опис Детальна інструкція
Дедлайн Кінцева дата здачі
Максимальний бал Якщо використовується оцінювання

Відповіді студентів

Студенти можуть здавати завдання через особистий кабінет.

Поля відповіді

Поле Опис
Студент Хто здав завдання
Завдання Яке завдання виконано
Файл або текст Відповідь студента
Дата здачі Коли здано
Статус На перевірці, прийнято, потрібно доопрацювати
Оцінка Бал або результат
Коментар викладача Зворотний зв’язок

Оцінювання

Оцінювання може бути простим або розширеним.

Варіанти оцінювання

  • зараховано / не зараховано;
  • бали;
  • відсоток;
  • оцінка за шкалою;
  • коментар викладача;
  • автоматичний результат тесту.

Фінанси

Модуль повинен підтримувати фінансовий облік оплат за курси.

Варіанти оплати

  • повна оплата;
  • часткова оплата;
  • передоплата;
  • оплата частинами;
  • корпоративна оплата;
  • безкоштовний доступ;
  • промокод або знижка.

Способи оплати

  • ручна оплата;
  • банківський переказ;
  • LiqPay;
  • Stripe;
  • PayPal;
  • інший платіжний шлюз.

Поля оплати

Поле Опис
Студент Хто оплатив
Курс За який курс оплата
Реєстрація До якої реєстрації прив’язана
Дата оплати Коли отримано оплату
Сума Розмір оплати
Спосіб оплати Ручна, картка, переказ, онлайн-шлюз
Статус Очікує, оплачено, помилка, повернення

Доступ до матеріалів

Система повинна контролювати доступ студента до курсу.

Правила доступу

  • безкоштовні матеріали доступні всім;
  • платні матеріали доступні після оплати;
  • наступний урок може відкриватися після проходження попереднього;
  • матеріали групи доступні тільки студентам цієї групи;
  • після завершення курсу доступ може залишатися або закриватися залежно від налаштувань.

Сертифікати

Сертифікат формується після завершення курсу.

Умови формування сертифіката

  • студент оплатив курс;
  • прогрес досягнув потрібного рівня;
  • виконані обов’язкові завдання;
  • пройдено фінальний тест, якщо є;
  • викладач підтвердив завершення.

Поля сертифіката

Поле Опис
Номер сертифіката Унікальний номер
Студент Кому видано
Курс Який курс завершено
Дата видачі Коли сформовано
Викладач Хто вів курс
Результат Оцінка або статус завершення
PDF-файл Згенерований сертифікат

Особистий кабінет студента

Кабінет студента є важливою частиною модуля.

Студент у кабінеті бачить

  • свої курси;
  • статус оплати;
  • прогрес навчання;
  • доступні уроки;
  • навчальні матеріали;
  • домашні завдання;
  • оцінки;
  • коментарі викладача;
  • розклад занять;
  • сертифікати;
  • історію оплат.

Кабінет викладача

Кабінет викладача потрібен для управління навчальним процесом.

Викладач у кабінеті бачить

  • свої курси;
  • свої групи;
  • список студентів;
  • прогрес студентів;
  • відвідуваність;
  • здані домашні завдання;
  • інструменти оцінювання;
  • коментарі до робіт;
  • календар занять.

Календар курсів і занять

Календар потрібен для планування стартів і live-занять.

У календарі потрібно бачити

  • старт курсу;
  • заняття групи;
  • дедлайни завдань;
  • вебінари;
  • консультації;
  • завершення курсу;
  • дати сертифікації.

Сповіщення

Система має надсилати повідомлення студентам, викладачам і адміністраторам.

Події для сповіщень

  • студент зареєструвався на курс;
  • отримано оплату;
  • відкрито доступ до матеріалів;
  • курс починається завтра;
  • заняття починається сьогодні;
  • наближається дедлайн завдання;
  • викладач перевірив завдання;
  • студент завершив курс;
  • сформовано сертифікат;
  • оплата прострочена.

Звіти

Звіт «Студенти курсів»

У звіті потрібно відображати:

  • курс;
  • студента;
  • групу;
  • статус навчання;
  • прогрес;
  • статус оплати;
  • дату реєстрації.

Звіт «Оплати за курси»

У звіті потрібно відображати:

  • дату оплати;
  • студента;
  • курс;
  • суму;
  • спосіб оплати;
  • статус;
  • борг.

Звіт «Прогрес студентів»

У звіті потрібно відображати:

  • студента;
  • курс;
  • кількість пройдених уроків;
  • прогрес у відсотках;
  • кількість зданих завдань;
  • середню оцінку.

Звіт «Відвідуваність»

У звіті потрібно відображати:

  • групу;
  • дату заняття;
  • студента;
  • статус присутності;
  • коментар.

Звіт «Ефективність курсів»

У звіті потрібно відображати:

  • курс;
  • кількість реєстрацій;
  • кількість оплат;
  • дохід;
  • кількість студентів, які завершили курс;
  • середній прогрес;
  • кількість виданих сертифікатів.

Звіт «Робота викладачів»

У звіті потрібно відображати:

  • викладача;
  • кількість курсів;
  • кількість студентів;
  • кількість перевірених завдань;
  • середній прогрес студентів;
  • оцінки або відгуки, якщо реалізовано.

AJAX-інтерактив

Інтерфейс має працювати швидко і без перезавантаження сторінок.

Через AJAX мають працювати:

  • реєстрація студента;
  • вибір курсу;
  • фільтрація курсів;
  • створення реєстрації;
  • фіксація оплати;
  • оновлення прогресу;
  • відкриття доступу до матеріалів;
  • здача домашнього завдання;
  • перевірка завдання;
  • виставлення оцінки;
  • формування сертифіката;
  • фільтрація звітів;
  • оновлення календаря.

Логування змін

Модуль повинен фіксувати важливі дії.

Журнал змін має зберігати:

  • хто створив курс;
  • хто змінив вартість курсу;
  • хто додав урок;
  • хто додав матеріал;
  • хто зареєстрував студента;
  • хто зафіксував оплату;
  • хто відкрив доступ до курсу;
  • хто змінив прогрес;
  • хто виставив оцінку;
  • хто сформував сертифікат;
  • хто скасував реєстрацію;
  • хто експортував звіт;
  • дату й час дії;
  • старе та нове значення, якщо це можливо.

Права доступу

Модуль має підтримувати розмежування прав.

Роль Можливості
Адміністратор навчального центру Керує курсами, студентами, викладачами, оплатами, групами і звітами
Менеджер Реєструє студентів, фіксує оплати, працює з заявками і сповіщеннями
Викладач Бачить свої курси, групи, студентів, завдання, прогрес і оцінки
Студент Переглядає свої курси, матеріали, прогрес, завдання, оплати і сертифікати
Бухгалтер Переглядає рахунки, оплати, борги і фінансові звіти
Адміністратор системи Налаштовує права, довідники, шаблони сертифікатів і службові параметри

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch API або Axios
UI-компоненти DataTables для реєстрацій і студентів, Select2 для вибору курсів, FullCalendar для графіка курсів
Матеріали Завантаження PDF, відео, презентацій, файлів і посилань
Оплати Інтеграція з платіжними шлюзами, опціонально
Друк PDF-сертифікати, рахунки, списки студентів
Експорт Excel або PDF для звітів

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • категорії курсів;
  • курси;
  • викладачі;
  • студенти;
  • групи;
  • уроки;
  • навчальні матеріали;
  • реєстрації на курси;
  • оплати;
  • прогрес навчання;
  • відвідуваність;
  • домашні завдання;
  • відповіді студентів;
  • оцінки;
  • сертифікати;
  • розклад;
  • сповіщення;
  • журнал змін;
  • звіти;
  • права доступу.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити категорію курсів;
  2. створити викладача;
  3. створити курс;
  4. додати програму курсу;
  5. додати уроки;
  6. додати навчальні матеріали;
  7. створити студента;
  8. зареєструвати студента на курс;
  9. сформувати рахунок або суму до оплати;
  10. зафіксувати часткову оплату;
  11. зафіксувати повну оплату;
  12. відкрити доступ до матеріалів після оплати;
  13. оновити прогрес студента;
  14. створити домашнє завдання;
  15. здати відповідь від студента;
  16. виставити оцінку;
  17. завершити курс для студента;
  18. сформувати сертифікат;
  19. сформувати звіт по студентах;
  20. сформувати звіт по оплатах;
  21. сформувати звіт по прогресу;
  22. перевірити журнал змін.

Критерії оцінювання

Критерій Бали Що перевіряється
Реалізація обліку курсів, студентів і викладачів 20 Категорії, курси, програма, уроки, викладачі, студенти, групи
Управління реєстраціями і прогресом навчання 20 Реєстрації, статуси навчання, прогрес, відвідуваність, завдання, оцінки
Фінансовий облік оплат курсів 20 Вартість, рахунки, часткові оплати, повні оплати, борги, статуси оплат
Генерація сертифікатів про завершення 20 Умови завершення, сертифікат, PDF, номер сертифіката, дата видачі
Інтерактивність через AJAX і особисті кабінети 20 AJAX-реєстрації, прогрес, завдання, оцінки, кабінет студента, кабінет викладача
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль повністю працює: курси, викладачі, студенти, реєстрації, оплати, прогрес, матеріали, кабінети, сертифікати й звіти реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують навчальний процес
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: курси, студенти, реєстрації, оплати, прогрес або сертифікати

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • неможливо створити курс;
  • неможливо створити викладача;
  • неможливо створити студента;
  • неможливо зареєструвати студента на курс;
  • реєстрація не прив’язується до курсу;
  • реєстрація не прив’язується до студента;
  • оплата не прив’язується до реєстрації;
  • часткова оплата не змінює борг;
  • доступ до платних матеріалів відкривається без оплати, якщо це заборонено правилами;
  • прогрес не оновлюється;
  • завершення курсу не фіксується;
  • сертифікат формується без виконання умов завершення;
  • звіти не відповідають фактичним реєстраціям, оплатам і прогресу;
  • зміни курсів, оплат, прогресу і сертифікатів не логуються.

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл навчання: курс → студент → реєстрація → оплата → доступ → прогрес → завершення → сертифікат → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль сайту курсів навчання в K2 ERP.

Модуль має підтримувати категорії курсів, курси, викладачів, студентів, групи, уроки, навчальні матеріали, реєстрації, оплати, прогрес, відвідуваність, домашні завдання, відповіді студентів, оцінки, сертифікати, розклад, сповіщення, особисті кабінети, звіти, AJAX-інтерактив і логування змін.

Примітка

ERP для курсів навчання потрібна школам, тренінговим центрам, онлайн-академіям, мовним школам, ІТ-школам, автошколам і корпоративним навчальним центрам.

Такий модуль дозволяє масштабувати навчання, контролювати оплату, бачити прогрес студентів, зменшити ручну роботу адміністратора і підвищити якість сервісу.

Коротко

Питання Відповідь
Що потрібно створити? Модуль сайту курсів навчання
Які довідники потрібні? Категорії курсів, курси, викладачі, студенти, групи
Який головний процес? Реєстрація студента на курс, оплата, навчання, прогрес і сертифікат
Що потрібно для онлайн-курсу? Уроки, матеріали, доступ після оплати, прогрес
Що потрібно для офлайн-курсу? Групи, розклад, відвідуваність, викладач
Які фінанси потрібні? Вартість курсу, рахунки, часткові оплати, повні оплати, борги
Які звіти потрібні? Студенти, оплати, прогрес, відвідуваність, ефективність курсів, робота викладачів
Що є критичною вимогою? Студент має отримати доступ, прогрес і сертифікат тільки за правильними правилами курсу

Див. також