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
|
/// education program abbreviations to name & number
|
||||||
#let edu_programs = (
|
#let edu_programs = (
|
||||||
"ПЗПІ": (
|
"ПЗПІ": (
|
||||||
|
department_gen: "Програмної інженерії",
|
||||||
name: "Інженерія програмного забезпечення",
|
name: "Інженерія програмного забезпечення",
|
||||||
number: 121, // TODO: ПЗПІ is "F2" now
|
number: 121, // TODO: ПЗПІ is "F2" now
|
||||||
),
|
),
|
||||||
"КУІБ": (
|
"КУІБ": (
|
||||||
|
department_gen: "Інфокомунікацій",
|
||||||
name: "Управління інформаційною безпекою",
|
name: "Управління інформаційною безпекою",
|
||||||
number: 125,
|
number: 125,
|
||||||
),
|
),
|
||||||
@ -264,11 +266,10 @@
|
|||||||
/// -> content
|
/// -> content
|
||||||
/// - doc (content): Content to apply the template to.
|
/// - doc (content): Content to apply the template to.
|
||||||
/// - title (str): Title of the document.
|
/// - title (str): Title of the document.
|
||||||
/// - subject_shorthand (str): Subject short name.
|
/// - subject_short (str): Subject short name.
|
||||||
/// - department_gen (str): Department name in genitive form.
|
|
||||||
/// - authors ((name: str, full_name_gen: str, variant: int, group: str, gender: str),): List of Authors dicts.
|
/// - 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.
|
/// - 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.
|
/// - 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.
|
/// - calendar_plan ( plan_table: (content | str), approval_date: datetime): Calendar plan object.
|
||||||
/// - abstract (keywords: (str, ), text: (content | str)): Abstract object.
|
/// - abstract (keywords: (str, ), text: (content | str)): Abstract object.
|
||||||
@ -277,11 +278,10 @@
|
|||||||
#let cw-template(
|
#let cw-template(
|
||||||
doc,
|
doc,
|
||||||
title: "NONE",
|
title: "NONE",
|
||||||
subject_shorthand: "NONE",
|
subject_short: "NONE",
|
||||||
department_gen: "Програмної інженерії",
|
|
||||||
author: (),
|
author: (),
|
||||||
mentors: (),
|
mentors: (),
|
||||||
edu_program_shorthand: "ПЗПІ",
|
edu_program_short: "ПЗПІ",
|
||||||
task_list: (),
|
task_list: (),
|
||||||
calendar_plan: (),
|
calendar_plan: (),
|
||||||
abstract: (),
|
abstract: (),
|
||||||
@ -304,7 +304,7 @@
|
|||||||
|
|
||||||
|
|
||||||
let head_mentor = mentors.at(0)
|
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
|
// page 1 {{{2
|
||||||
[
|
[
|
||||||
@ -323,7 +323,7 @@
|
|||||||
|
|
||||||
ДО КУРСОВОЇ РОБОТИ
|
ДО КУРСОВОЇ РОБОТИ
|
||||||
|
|
||||||
з дисципліни: "#subjects.at(subject_shorthand, default: "NONE")"
|
з дисципліни: "#subjects.at(subject_short, default: "NONE")"
|
||||||
|
|
||||||
Тема роботи: "#title"
|
Тема роботи: "#title"
|
||||||
|
|
||||||
@ -389,9 +389,9 @@
|
|||||||
Спеціальність
|
Спеціальність
|
||||||
],
|
],
|
||||||
{
|
{
|
||||||
uline(align: left, department_gen)
|
uline(align: left, edu_program.department_gen)
|
||||||
linebreak()
|
linebreak()
|
||||||
uline(align: left, subjects.at(subject_shorthand))
|
uline(align: left, subjects.at(subject_short))
|
||||||
linebreak()
|
linebreak()
|
||||||
uline(align: left, [#edu_program.number #edu_program.name])
|
uline(align: left, [#edu_program.number #edu_program.name])
|
||||||
},
|
},
|
||||||
@ -671,26 +671,28 @@
|
|||||||
/// -> content
|
/// -> content
|
||||||
/// - doc (content): Content to apply the template to.
|
/// - doc (content): Content to apply the template to.
|
||||||
/// - doctype ("ЛБ" | "ПЗ"): Document type.
|
/// - doctype ("ЛБ" | "ПЗ"): Document type.
|
||||||
|
/// - edu_program_short (str): Education program shorthand.
|
||||||
/// - title (str): Title of the document.
|
/// - title (str): Title of the document.
|
||||||
/// - subject_shorthand (str): Subject short name.
|
/// - subject_short (str): Subject short name.
|
||||||
/// - department_gen (str): Department name in genitive form.
|
|
||||||
/// - worknumber (int): Number of the work, can be omitted.
|
/// - 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.
|
/// - 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.
|
/// - mentors (name: str, gender: str or none, degree: str): Mentors objects.
|
||||||
#let lab-pz-template(
|
#let lab-pz-template(
|
||||||
doc,
|
doc,
|
||||||
doctype: "NONE",
|
doctype: "NONE",
|
||||||
|
edu_program_short: "ПЗПІ",
|
||||||
title: "NONE",
|
title: "NONE",
|
||||||
subject_shorthand: "NONE",
|
subject_short: "NONE",
|
||||||
department_gen: "Програмної інженерії",
|
|
||||||
worknumber: 1,
|
worknumber: 1,
|
||||||
authors: (),
|
authors: (),
|
||||||
mentors: (),
|
mentors: (gender: none),
|
||||||
) = {
|
) = {
|
||||||
set document(title: title, author: authors.at(0).name)
|
set document(title: title, author: authors.at(0).name)
|
||||||
|
|
||||||
show: style
|
show: style
|
||||||
|
|
||||||
|
let edu_program = edu_programs.at(edu_program_short)
|
||||||
|
|
||||||
context counter(heading).update(worknumber - 1)
|
context counter(heading).update(worknumber - 1)
|
||||||
|
|
||||||
// page 1 {{{2
|
// page 1 {{{2
|
||||||
@ -699,7 +701,7 @@
|
|||||||
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
|
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
|
||||||
|
|
||||||
\ \
|
\ \
|
||||||
Кафедра #department_gen
|
Кафедра #edu_program.department_gen
|
||||||
|
|
||||||
\ \ \
|
\ \ \
|
||||||
Звіт \
|
Звіт \
|
||||||
@ -707,7 +709,7 @@
|
|||||||
#if doctype == "ЛБ" [лабораторної роботи] else [практичної роботи]
|
#if doctype == "ЛБ" [лабораторної роботи] else [практичної роботи]
|
||||||
#if worknumber != none [№ #worknumber]
|
#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"
|
з теми: "#title"
|
||||||
|
|
||||||
@ -720,7 +722,7 @@
|
|||||||
let author = authors.at(0)
|
let author = authors.at(0)
|
||||||
if author.gender == "m" [Виконав:\ ] else [Виконала:\ ]
|
if author.gender == "m" [Виконав:\ ] else [Виконала:\ ]
|
||||||
[
|
[
|
||||||
ст. гр. #author.group\
|
ст. гр. #author.edu_program\-#author.group\
|
||||||
#author.name\
|
#author.name\
|
||||||
]
|
]
|
||||||
if author.variant != none [Варіант: №#author.variant]
|
if author.variant != none [Варіант: №#author.variant]
|
||||||
|
@ -4,26 +4,14 @@
|
|||||||
name: "Ситник Є. С.",
|
name: "Ситник Є. С.",
|
||||||
full_name_gen: "Ситника Єгора Сергійовича",
|
full_name_gen: "Ситника Єгора Сергійовича",
|
||||||
variant: 13,
|
variant: 13,
|
||||||
group: "ПЗПІ-23-2",
|
group: "23-2",
|
||||||
gender: "m",
|
gender: "m",
|
||||||
)
|
)
|
||||||
|
|
||||||
#let mentors = (
|
#let mentors = (
|
||||||
(
|
(name: "Черепанова Ю. Ю.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||||
name: "Черепанова Ю. Ю.",
|
(name: "Русакова Н. Є.", gender: "f", degree: "Доц. каф. ПІ"),
|
||||||
gender: "f",
|
(name: "Широкопетлєва М. С.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||||
degree: "Ст. викл. каф. ПІ",
|
|
||||||
),
|
|
||||||
(
|
|
||||||
name: "Русакова Н. Є.",
|
|
||||||
gender: "f",
|
|
||||||
degree: "Доц. каф. ПІ",
|
|
||||||
),
|
|
||||||
(
|
|
||||||
name: "Широкопетлєва М. С.",
|
|
||||||
gender: "f",
|
|
||||||
degree: "Ст. викл. каф. ПІ",
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#let task_list = (
|
#let task_list = (
|
||||||
@ -38,19 +26,39 @@
|
|||||||
plan_table: table(
|
plan_table: table(
|
||||||
columns: 4,
|
columns: 4,
|
||||||
align: (center, left, center, center),
|
align: (center, left, center, center),
|
||||||
[Номер], [Назва етапів курсової роботи], [Строк виконання етапів роботи], [Примітки],
|
[Номер],
|
||||||
|
[Назва етапів курсової роботи],
|
||||||
|
[Строк виконання етапів роботи],
|
||||||
|
[Примітки],
|
||||||
|
|
||||||
[1], [Аналіз предметної області], [15.09.24 – 24.09.24], [Виконано],
|
[1], [Аналіз предметної області], [15.09.24 – 24.09.24], [Виконано],
|
||||||
[2], [Концептуальне моделювання], [24.09.24-30.09.24], [~],
|
[2], [Концептуальне моделювання], [24.09.24-30.09.24], [~],
|
||||||
[2], [Постановка задачі], [28.09.24 – 2.10.24], [Виконано],
|
[2], [Постановка задачі], [28.09.24 – 2.10.24], [Виконано],
|
||||||
[3], [Побудова ER-діаграми та схеми БД], [2.10.24 – 18.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], [Виконано],
|
[5], [Перша контрольна точка з курсової роботи], [20.10.24], [Виконано],
|
||||||
[6], [Нормалізація бази даних], [20.10.24 - 15.11.24], [Виконано],
|
[6], [Нормалізація бази даних], [20.10.24 - 15.11.24], [Виконано],
|
||||||
[7], [Створення програми], [20.10.24 – 20.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], [Виконано],
|
[9], [Друга контрольна точка з курсової роботи], [7.12.24], [Виконано],
|
||||||
[10], [Реалізація остаточної версії програми], [7.12.24-15.12.24], [Виконано],
|
[10],
|
||||||
[11], [Оформлення інших розділів пояснювальної записки], [1.11.24 – 25.12.24], [Виконано],
|
[Реалізація остаточної версії програми],
|
||||||
|
[7.12.24-15.12.24],
|
||||||
|
[Виконано],
|
||||||
|
|
||||||
|
[11],
|
||||||
|
[Оформлення інших розділів пояснювальної записки],
|
||||||
|
[1.11.24 – 25.12.24],
|
||||||
|
[Виконано],
|
||||||
|
|
||||||
[12], [Третя контрольна точка з курсової роботи], [27.12.24], [Виконано],
|
[12], [Третя контрольна точка з курсової роботи], [27.12.24], [Виконано],
|
||||||
),
|
),
|
||||||
approval_date: datetime(year: 2024, month: 12, day: 27),
|
approval_date: datetime(year: 2024, month: 12, day: 27),
|
||||||
@ -69,11 +77,26 @@
|
|||||||
"SQL",
|
"SQL",
|
||||||
),
|
),
|
||||||
text: [
|
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(
|
#show: cw-template.with(
|
||||||
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
||||||
subject_shorthand: "БД",
|
subject_short: "БД",
|
||||||
department_gen: "Програмної інженерії",
|
edu_program_short: "ПЗПІ",
|
||||||
edu_program_shorthand: "ПЗПІ",
|
|
||||||
author: author,
|
author: author,
|
||||||
mentors: mentors,
|
mentors: mentors,
|
||||||
task_list: task_list,
|
task_list: task_list,
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
#show: lab-pz-template.with(
|
#show: lab-pz-template.with(
|
||||||
doctype: "ЛБ",
|
doctype: "ЛБ",
|
||||||
|
edu_program_short: "ПЗПІ",
|
||||||
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
title: "Інформаційна система «Помічник класного керівника». Керування класом",
|
||||||
subject_shorthand: "БД",
|
subject_short: "БД",
|
||||||
department_gen: "Програмної інженерії",
|
|
||||||
authors: (
|
authors: (
|
||||||
(
|
(
|
||||||
name: "Ситник Є. С.",
|
name: "Ситник Є. С.",
|
||||||
@ -14,10 +14,8 @@
|
|||||||
gender: "m",
|
gender: "m",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
mentor: (
|
mentors: (
|
||||||
name: "Черепанова Ю. Ю.",
|
(name: "Черепанова Ю. Ю.", gender: "f", degree: "Ст. викл. каф. ПІ"),
|
||||||
gender: "f",
|
|
||||||
degree: "Ст. викл. каф. ПІ",
|
|
||||||
),
|
),
|
||||||
worknumber: 1,
|
worknumber: 1,
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user