#import "template.typ": * #import "@preview/indenta:0.0.3": fix-indent #let author = ( name: "Ситник Є. С.", full_name_gen: "Ситника Єгора Сергійовича", variant: 13, group: "ПЗПІ-23-2", gender: "m", ) #let mentors = ( ( name: "Черепанова Ю. Ю.", gender: "f", degree: "Ст. викл. каф. ПІ", ), ( name: "Русакова Н. Є.", gender: "f", degree: "Доц. каф. ПІ", ), ( name: "Широкопетлєва М. С.", gender: "f", degree: "Ст. викл. каф. ПІ", ), ) #let task_list = ( done_date: datetime(year: 2024, month: 12, day: 27), initial_data: datetime(year: 2024, month: 9, day: 15), source: "методичні вказівки до виконання курсової роботи, вимоги до інформаційної системи, предметна область, що пов’язана з управлінням класом та класним керівництвом.", content: "вступ, аналіз предметної області; постановка задачі; проектування бази даних; опис програми; висновки; перелік джерел посилання.", graphics: "загальна діаграма класів, ER-діаграма, UML-діаграми, DFD-діаграма, схема БД в 1НФ, 2НФ, 3НФ, копії екранів (“скриншоти”) прикладної програми, приклади звітів прикладної програми.", ) #let calendar_plan = ( plan_table: [], approval_date: datetime(year: 2024, month: 12, day: 27), ) #let abstract = ( keywords: ( "БАЗА ДАНИХ", "АВТОМАТИЗАЦІЯ", "КЛАСНИЙ КЕРІВНИК", "КЛАС", "ШКОЛА", "GO", "HTMX", "MYSQL", "SQL", ), text: [ Мета даної роботи -- проєктування та розробка інформаційної системи «Помічник класного керівника. Керування класом», яка спрямована на автоматизацію процесів управління класом, облік даних про учнів, планування та аналіз навчального процесу. Основна задача інформаційної системи – спростити роботу класного керівника, забезпечити ефективну організацію документації та взаємодію з учасниками освітнього процесу. Для реалізації системи було використано сучасний стек технологій, а саме: Go -- як основна мова програмування для створення серверної логіки, HTMX -- для динамічного оновлення інтерфейсу без використання складних фреймворків, MySQL -- як СУБД для зберігання даних про учнів, їх оцінки та розклад, Neovim -- як середовище для швидкої та ефективної розробки коду, Go Echo -- веб-фреймворк для створення REST API, Go SQLx -- бібліотека для роботи з базою даних, що забезпечує зручність і гнучкість. Результат роботи – веб-додаток, який дозволяє обліковувати особисті дані учнів та їхніх опікунів, включаючи інформацію про успішність, відвідуваність та інші показники; планувати розклад занять; генерувати звіти про успішність учнів та переглядати різну статистику. Інтерфейс, створений з використанням HTMX, легко адаптується під потреби користувача. ], ) #let appendices = ( ( title: "Приклад звіту 1", content: [test], ), ( title: "Приклад звіту 2", content: [test], ), ( title: "Приклад звіту 3", content: [test], ), ) #show: cw-template.with( title: "Інформаційна система «Помічник класного керівника». Керування класом", subject_shorthand: "БД", department_gen: "Програмної інженерії", edu_program_shorthand: "ПЗПІ", author: author, mentors: mentors, task_list: task_list, calendar_plan: calendar_plan, abstract: abstract, bib_path: "bibl.yml", appendices: appendices, ) #show: fix-indent()