top of page

 

 

 

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

 

Оцінка проекту буде проводитися за такими критеріями:
 

  • Функціональність, стабільність та коректність роботи платформи.

  • Якість коду, його чистота.

  • Командна робота при використанні git для контролю версій (див. нефункціональні вимоги).

  • Якість документації.

  • ** Ефективне використання дизайн-патернів і технологій.

  • ** Рівень покриття коду тестами.

  • ** UI (інтерфейс користувача вашого веб-додатка має бути привабливим) та UX (досвід користувача повинен забезпечувати зручність та легкість використання веб-додатка)
     

** - завдання підвищеної складності, не обов’язкові до виконання, але які будуть оцінюватися додатковими балами

 

Технології:

  • Frontend: Можна використовувати будь-які доступні технології для розробки інтерфейсу.

  • Backend: Необхідно дотримуватися принципів об'єктно-орієнтованого програмування.

  • База даних: Ви маєте можливість використовувати будь-яку з доступних технологій для створення та управління базами даних.

 

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

Функціональні Вимоги

Наша програма складається із:

  • Викладач (teacher)

  • Викладач-Керівник (chief-teacher)

  • Учень (student)

  • Предмет (subject)

  • Навчально-облікові матеріали (study-account materials )

 

Авторизація

  • Логін форма з email та password

  • Користувачі поділяються на: teacher, chief-teacher, student.

 

Головна сторінка

  • Перелік Предметів із сортуванням по назвах

  • Перелік Викладачів із сортуванням по прізвищах

  • Кількість класів та кількість Учнів

  • ** Досягнення Учнів

  • ** Досягнення Вчителів
     

Викладач

  • Перелік Предметів, що викладає Викладач

  • Може додавати або видаляти Учнів у Предметі

  • Може виставляти оцінки Учням по Предметах у журналі оцінок 

  • Перегляд (сортування по прізвищах) та пошук доступних Викладачів

  • ** Досягнення Викладача 

 

Викладач-Керівник

  • Доручає Викладачеві викладання Предмету

  • Може додавати або видаляти Викладачів
     

Предмет

  • Клас (класи) викладання Предмету

  • Перелік Учнів, які вивчають Предмет

  • Перегляд (сортування по назвах та по класах) та пошук Предметів

  • ** Навчальні матеріали по Предмету (pdf, word, …, картинки, текст, посилання на відео матеріали)

  • ** Завдання по Предмету (тести з однією чи кількома правильними відповідями які може створювати викладач)

  • ** Викладач може додавати та видаляти навчальні матеріали та створювати власні тести у конструкторі тестів

 

Учень

  • Предмети, що вивчає Учень

  • Успішність (перелік оцінок та середній бал)

  • Перегляд (сортування по прізвищах, по класах, по успішності) всіх учнів

  • Пагінація

  • Пошук по учнях

  • ** Досягнення Учня (переможець/призер олімпіад, конкурсів, турнірів, змагань)

Навчально-облікові матеріали

  • Розклад занять з представленням у формі календаря;

  • Журнал оцінок (дата - оцінка (або відсутність/запізнення))

  • Учень може бачити тільки свою статистику оцінок

  • Викладач може бачити статистику по всіх учнях для своїх Предметів

Нефункціональні Вимоги

  • GitHub

    • Проект має бути викладений на публічний GitHub репозиторій

    • ** Має бути історія розробки, створення віток, комітів, пул-ріквестів та активність всіх членів команди
       

  • Архітектура

    • Проект повинен включати базу даних, backend та frontend, розроблені з дотриманням загальноприйнятих принципів програмування.

    • Використання ООП;
       

  • Документація та Інструкція

    • Документація (Readme.md) по проекту.

    • Докладна покрокова інструкція із локального розгортання проекту. Викласти спосіб розгортання всіх його компонентів (включно із базою даних). Важливо розробити зрозумілий підхід: якщо членам журі не вдасться запустити проект, він оцінюватися не буде.
       

  • Стабільність

    • Проект повинен працювати без помилок та багів.
       

  • ** Тестування

    • Забезпечити покриття коду тестами, включаючи інтеграцію з плагіном для відстеження покриття тестами.

Формат подачі

  • Сторінка (pdf) з описом команди та ролей в команді

  • Посилання на публічний репозиторій на GitHub.

  • Відеозапис демонстрації функціоналу проекту

 

** - завдання підвищеної складності, не обов’язкові до виконання, але які будуть оцінюватися додатковими балами

Cередовище для завантаження завдань, критерії та журі будуть опубілковані на сайті  після 20.05.2024

bottom of page