feat!: move department_gen to edu_programs
feat!: rename "shorthand" variables to "short" WIP: feat!: derive group name from edu_program docs(template): adjust templates accordingly style: format with typstyle
This commit is contained in:
38
lib.typ
38
lib.typ
@ -15,10 +15,12 @@
|
||||
/// education program abbreviations to name & number
|
||||
#let edu_programs = (
|
||||
"ПЗПІ": (
|
||||
department_gen: "Програмної інженерії",
|
||||
name: "Інженерія програмного забезпечення",
|
||||
number: 121, // TODO: ПЗПІ is "F2" now
|
||||
),
|
||||
"КУІБ": (
|
||||
department_gen: "Інфокомунікацій",
|
||||
name: "Управління інформаційною безпекою",
|
||||
number: 125,
|
||||
),
|
||||
@ -264,11 +266,10 @@
|
||||
/// -> content
|
||||
/// - doc (content): Content to apply the template to.
|
||||
/// - title (str): Title of the document.
|
||||
/// - subject_shorthand (str): Subject short name.
|
||||
/// - department_gen (str): Department name in genitive form.
|
||||
/// - subject_short (str): Subject short name.
|
||||
/// - authors ((name: str, full_name_gen: str, variant: int, group: str, gender: str),): List of Authors dicts.
|
||||
/// - mentors ((name: str, gender: str, degree: str),): List of mentors dicts.
|
||||
/// - edu_program_shorthand (str): Education program shorthand.
|
||||
/// - edu_program_short (str): Education program shorthand.
|
||||
/// - task_list (done_date: datetime, initial_date: datetime, source: (content | str), content: (content | str), graphics: (content | str)): Task list object.
|
||||
/// - calendar_plan ( plan_table: (content | str), approval_date: datetime): Calendar plan object.
|
||||
/// - abstract (keywords: (str, ), text: (content | str)): Abstract object.
|
||||
@ -277,11 +278,10 @@
|
||||
#let cw-template(
|
||||
doc,
|
||||
title: "NONE",
|
||||
subject_shorthand: "NONE",
|
||||
department_gen: "Програмної інженерії",
|
||||
subject_short: "NONE",
|
||||
author: (),
|
||||
mentors: (),
|
||||
edu_program_shorthand: "ПЗПІ",
|
||||
edu_program_short: "ПЗПІ",
|
||||
task_list: (),
|
||||
calendar_plan: (),
|
||||
abstract: (),
|
||||
@ -304,7 +304,7 @@
|
||||
|
||||
|
||||
let head_mentor = mentors.at(0)
|
||||
let edu_program = edu_programs.at(edu_program_shorthand)
|
||||
let edu_program = edu_programs.at(edu_program_short)
|
||||
|
||||
// page 1 {{{2
|
||||
[
|
||||
@ -323,7 +323,7 @@
|
||||
|
||||
ДО КУРСОВОЇ РОБОТИ
|
||||
|
||||
з дисципліни: "#subjects.at(subject_shorthand, default: "NONE")"
|
||||
з дисципліни: "#subjects.at(subject_short, default: "NONE")"
|
||||
|
||||
Тема роботи: "#title"
|
||||
|
||||
@ -389,9 +389,9 @@
|
||||
Спеціальність
|
||||
],
|
||||
{
|
||||
uline(align: left, department_gen)
|
||||
uline(align: left, edu_program.department_gen)
|
||||
linebreak()
|
||||
uline(align: left, subjects.at(subject_shorthand))
|
||||
uline(align: left, subjects.at(subject_short))
|
||||
linebreak()
|
||||
uline(align: left, [#edu_program.number #edu_program.name])
|
||||
},
|
||||
@ -671,26 +671,28 @@
|
||||
/// -> content
|
||||
/// - doc (content): Content to apply the template to.
|
||||
/// - doctype ("ЛБ" | "ПЗ"): Document type.
|
||||
/// - edu_program_short (str): Education program shorthand.
|
||||
/// - title (str): Title of the document.
|
||||
/// - subject_shorthand (str): Subject short name.
|
||||
/// - department_gen (str): Department name in genitive form.
|
||||
/// - subject_short (str): Subject short name.
|
||||
/// - worknumber (int): Number of the work, can be omitted.
|
||||
/// - authors ((name: str, full_name_gen: str, variant: int, group: str, gender: str),): List of Authors dicts.
|
||||
/// - mentors (name: str, gender: str or none, degree: str): Mentors objects.
|
||||
#let lab-pz-template(
|
||||
doc,
|
||||
doctype: "NONE",
|
||||
edu_program_short: "ПЗПІ",
|
||||
title: "NONE",
|
||||
subject_shorthand: "NONE",
|
||||
department_gen: "Програмної інженерії",
|
||||
subject_short: "NONE",
|
||||
worknumber: 1,
|
||||
authors: (),
|
||||
mentors: (),
|
||||
mentors: (gender: none),
|
||||
) = {
|
||||
set document(title: title, author: authors.at(0).name)
|
||||
|
||||
show: style
|
||||
|
||||
let edu_program = edu_programs.at(edu_program_short)
|
||||
|
||||
context counter(heading).update(worknumber - 1)
|
||||
|
||||
// page 1 {{{2
|
||||
@ -699,7 +701,7 @@
|
||||
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
|
||||
|
||||
\ \
|
||||
Кафедра #department_gen
|
||||
Кафедра #edu_program.department_gen
|
||||
|
||||
\ \ \
|
||||
Звіт \
|
||||
@ -707,7 +709,7 @@
|
||||
#if doctype == "ЛБ" [лабораторної роботи] else [практичної роботи]
|
||||
#if worknumber != none [№ #worknumber]
|
||||
|
||||
з дисципліни: "#subjects.at(subject_shorthand, default: "UNLNOWN SUBJECT, PLEASE OPEN AN ISSUE")"
|
||||
з дисципліни: "#subjects.at(subject_short, default: "UNKNOWN SUBJECT, PLEASE OPEN AN ISSUE")"
|
||||
|
||||
з теми: "#title"
|
||||
|
||||
@ -720,7 +722,7 @@
|
||||
let author = authors.at(0)
|
||||
if author.gender == "m" [Виконав:\ ] else [Виконала:\ ]
|
||||
[
|
||||
ст. гр. #author.group\
|
||||
ст. гр. #author.edu_program\-#author.group\
|
||||
#author.name\
|
||||
]
|
||||
if author.variant != none [Варіант: №#author.variant]
|
||||
|
@ -4,26 +4,14 @@
|
||||
name: "Ситник Є. С.",
|
||||
full_name_gen: "Ситника Єгора Сергійовича",
|
||||
variant: 13,
|
||||
group: "ПЗПІ-23-2",
|
||||
group: "23-2",
|
||||
gender: "m",
|
||||
)
|
||||
|
||||
#let mentors = (
|
||||
(
|
||||
name: "Черепанова Ю. Ю.",
|
||||
gender: "f",
|
||||
degree: "Ст. викл. каф. ПІ",
|
||||
),
|
||||
(
|
||||
name: "Русакова Н. Є.",
|
||||
gender: "f",
|
||||
degree: "Доц. каф. ПІ",
|
||||
),
|
||||
(
|
||||
name: "Широкопетлєва М. С.",
|
||||
gender: "f",
|
||||
degree: "Ст. викл. каф. ПІ",
|
||||
),
|
||||
(name: "Черепанова Ю. Ю.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||
(name: "Русакова Н. Є.", gender: "f", degree: "Доц. каф. ПІ"),
|
||||
(name: "Широкопетлєва М. С.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||
)
|
||||
|
||||
#let task_list = (
|
||||
@ -38,19 +26,39 @@
|
||||
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], [Виконано],
|
||||
[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], [Виконано],
|
||||
[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], [Виконано],
|
||||
[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),
|
||||
@ -69,11 +77,26 @@
|
||||
"SQL",
|
||||
),
|
||||
text: [
|
||||
Мета даної роботи -- проєктування та розробка інформаційної системи «Помічник класного керівника. Керування класом», яка спрямована на автоматизацію процесів управління класом, облік даних про учнів, планування та аналіз навчального процесу. Основна задача інформаційної системи – спростити роботу класного керівника, забезпечити ефективну організацію документації та взаємодію з учасниками освітнього процесу.
|
||||
Мета даної роботи -- проєктування та розробка інформаційної системи «Помічник
|
||||
класного керівника. Керування класом», яка спрямована на автоматизацію процесів
|
||||
управління класом, облік даних про учнів, планування та аналіз навчального
|
||||
процесу. Основна задача інформаційної системи – спростити роботу класного
|
||||
керівника, забезпечити ефективну організацію документації та взаємодію з
|
||||
учасниками освітнього процесу.
|
||||
|
||||
Для реалізації системи було використано сучасний стек технологій, а саме: Go -- як основна мова програмування для створення серверної логіки, HTMX -- для динамічного оновлення інтерфейсу без використання складних фреймворків, MySQL -- як СУБД для зберігання даних про учнів, їх оцінки та розклад, Neovim -- як середовище для швидкої та ефективної розробки коду, Go Echo -- веб-фреймворк для створення REST API, Go SQLx -- бібліотека для роботи з базою даних, що забезпечує зручність і гнучкість.
|
||||
Для реалізації системи було використано сучасний стек технологій, а саме: Go --
|
||||
як основна мова програмування для створення серверної логіки, HTMX -- для
|
||||
динамічного оновлення інтерфейсу без використання складних фреймворків, MySQL --
|
||||
як СУБД для зберігання даних про учнів, їх оцінки та розклад, Neovim -- як
|
||||
середовище для швидкої та ефективної розробки коду, Go Echo -- веб-фреймворк для
|
||||
створення REST API, Go SQLx -- бібліотека для роботи з базою даних, що
|
||||
забезпечує зручність і гнучкість.
|
||||
|
||||
Результат роботи – веб-додаток, який дозволяє обліковувати особисті дані учнів та їхніх опікунів, включаючи інформацію про успішність, відвідуваність та інші показники; планувати розклад занять; генерувати звіти про успішність учнів та переглядати різну статистику. Інтерфейс, створений з використанням HTMX, легко адаптується під потреби користувача.
|
||||
Результат роботи – веб-додаток, який дозволяє обліковувати особисті дані учнів
|
||||
та їхніх опікунів, включаючи інформацію про успішність, відвідуваність та інші
|
||||
показники; планувати розклад занять; генерувати звіти про успішність учнів та
|
||||
переглядати різну статистику. Інтерфейс, створений з використанням HTMX, легко
|
||||
адаптується під потреби користувача.
|
||||
],
|
||||
)
|
||||
|
||||
@ -94,9 +117,8 @@
|
||||
|
||||
#show: cw-template.with(
|
||||
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
||||
subject_shorthand: "БД",
|
||||
department_gen: "Програмної інженерії",
|
||||
edu_program_shorthand: "ПЗПІ",
|
||||
subject_short: "БД",
|
||||
edu_program_short: "ПЗПІ",
|
||||
author: author,
|
||||
mentors: mentors,
|
||||
task_list: task_list,
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
#show: lab-pz-template.with(
|
||||
doctype: "ЛБ",
|
||||
edu_program_short: "ПЗПІ",
|
||||
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
||||
subject_shorthand: "БД",
|
||||
department_gen: "Програмної інженерії",
|
||||
subject_short: "БД",
|
||||
authors: (
|
||||
(
|
||||
name: "Ситник Є. С.",
|
||||
@ -14,10 +14,8 @@
|
||||
gender: "m",
|
||||
),
|
||||
),
|
||||
mentor: (
|
||||
name: "Черепанова Ю. Ю.",
|
||||
gender: "f",
|
||||
degree: "Ст. викл. каф. ПІ",
|
||||
mentors: (
|
||||
(name: "Черепанова Ю. Ю.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||
),
|
||||
worknumber: 1,
|
||||
)
|
||||
|
Reference in New Issue
Block a user