#import "@local/nure:0.1.0": * #let author = ( name: "Ситник Є. С.", full_name_gen: "Ситника Єгора Сергійовича", course: 2, semester: 3, variant: 13, group: "23-2", gender: "m", ) #let mentors = ( (name: "Черепанова Ю. Ю.", degree: "Ст. викл. каф. ПІ"), (name: "Русакова Н. Є.", degree: "Доц. каф. ПІ"), (name: "Широкопетлєва М. С.", degree: "Ст. викл. каф. ПІ"), ) #let task_list = ( done_date: datetime(year: 2024, month: 12, day: 27), initial_date: datetime(year: 2024, month: 9, day: 15), source: "методичні вказівки до виконання курсової роботи, вимоги до інформаційної системи, предметна область, що пов’язана з управлінням класом та класним керівництвом.", content: "вступ, аналіз предметної області; постановка задачі; проектування бази даних; опис програми; висновки; перелік джерел посилання.", graphics: "загальна діаграма класів, ER-діаграма, UML-діаграми, DFD-діаграма, схема БД в 1НФ, 2НФ, 3НФ, копії екранів (“скриншоти”) прикладної програми, приклади звітів прикладної програми.", ) #let calendar_plan = ( plan_table: table( columns: 4, align: (center, left, center, center), [Номер], [Назва етапів курсової роботи], [Строк виконання етапів роботи], [Примітки], [1], [Аналіз предметної області], [15.09.24 – 24.09.24], [Виконано], [2], [Концептуальне моделювання], [24.09.24-30.09.24], [~], [2], [Постановка задачі], [28.09.24 – 2.10.24], [Виконано], [3], [Побудова ER-діаграми та схеми БД], [2.10.24 – 18.10.24], [Виконано], [4], [Оформлення розділів 1, 2 та 3.1, 3.2 пояснювальної записки], [10.10.24 - 18.10.24], [Виконано], [5], [Перша контрольна точка з курсової роботи], [20.10.24], [Виконано], [6], [Нормалізація бази даних], [20.10.24 - 15.11.24], [Виконано], [7], [Створення програми], [20.10.24 – 20.11.24], [Виконано], [8], [Тестування програми, наповнення бази даних], [20.11.24 - 5.12.24], [Виконано], [9], [Друга контрольна точка з курсової роботи], [7.12.24], [Виконано], [10], [Реалізація остаточної версії програми], [7.12.24-15.12.24], [Виконано], [11], [Оформлення інших розділів пояснювальної записки], [1.11.24 – 25.12.24], [Виконано], [12], [Третя контрольна точка з курсової роботи], [27.12.24], [Виконано], ), 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 = [ = Приклад звіту 1 #v(-spacing) == Частина 1 #lorem(100) == Частина2 #lorem(200) = Приклад звіту 2 #lorem(200) = Приклад звіту 3 #lorem(200) ] #show: cw-template.with( title: "Інформаційна система «Помічник класного керівника». Керування класом", subject_short: "БД", edu_program_short: "ПЗПІ", author: author, mentors: mentors, task_list: task_list, calendar_plan: calendar_plan, abstract: abstract, bib_path: "bibl.yml", appendices: appendices, ) = Моделювання #lorem(250) = Імплементація #v(-spacing) == Підоготовка #lorem(200) == Процес #lorem(500) = Тестування #lorem(300)