feat: restructured files accrording to typst package format

- added typst.toml
- moved templates to "template" folder
- renamed files according to convention
This commit is contained in:
2025-03-01 01:10:05 +02:00
parent efa56f1fec
commit 0d526d4f58
7 changed files with 11 additions and 0 deletions

80
template/bibl.yml Normal file
View File

@ -0,0 +1,80 @@
go:
type: Web
title: The Go Programming Language
author: The Go Programming Language
url:
value: https://go.dev/
date: 2024-12-10
htmx:
type: Web
title: Htmx - high power tools for html
author: Htmx - high power tools for html
url:
value: https://htmx.org/
date: 2024-12-10
mysql:
type: Book
title: MySQL Language Reference
author: Ab M.
publisher: MySQL Press
date: 2004
page-total: 600
neovim:
type: Web
title: About neovim
author: Neovim
url:
value: https://neovim.io/charter/
date: 2024-12-10
echo:
type: Web
title: High performance, extensible, minimalist Go web framework | Echo
author: High performance, extensible, minimalist Go web framework | Echo
url:
value: https://echo.labstack.com/
date: 2024-12-10
sqlx:
type: Web
title: Illustrated Guide to SQLX
author: GitHub Pages
url:
value: http://jmoiron.github.io/sqlx/
date: 2024-12-10
human:
type: Web
title: Про нас | HUMAN
author: HUMAN
url:
value: https://human.ua/
date: 2024-12-11
docker:
type: Web
title: "Docker: accelerated container application development"
author: Docker
url:
value: https://www.docker.com/
date: 2024-12-15
docker_compose:
type: Web
title: Docker compose
author: Docker Documentation
url:
value: https://docs.docker.com/compose/
date: 2024-12-15
hateoas:
type: Web
title: HATEOAS and Why It's Needed in RESTful API?
author: GeeksforGeeks
url:
value: https://www.geeksforgeeks.org/hateoas-and-why-its-needed-in-restful-api/
date: 2024-12-15

120
template/coursework.typ Normal file
View File

@ -0,0 +1,120 @@
#import "template.typ": *
#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_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_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,
)
= Моделювання
#lorem(250)
= Імплементація
#v(-spacing)
== Підоготовка
#lorem(200)
== Процес
#lorem(500)
= Тестування
#lorem(300)

51
template/lab.typ Normal file
View File

@ -0,0 +1,51 @@
#import "template.typ": *
#show: lab-pz-template.with(
doctype: "ЛБ",
title: "Інформаційна система «Помічник класного керівника». Керування класом",
subject_shorthand: "БД",
department_gen: "Програмної інженерії",
authors: (
(
name: "Ситник Є. С.",
full_name_gen: "Ситника Єгора Сергійовича",
variant: 13,
group: "ПЗПІ-23-2",
gender: "m",
),
),
mentor: (
name: "Черепанова Ю. Ю.",
gender: "f",
degree: "Ст. викл. каф. ПІ",
),
worknumber: 1,
)
#v(-spacing)
== Мета роботи
#lorem(100)
== Хід роботи
#v(-spacing)
=== Підготовка
#lorem(150)
=== Виконання дослідження
#lorem(300)
=== Підрахунок результатів
#lorem(250)
== Висновки
#lorem(100)
== Контрольні запитання
#lorem(100):
- #lorem(20);
- #lorem(30);
- #lorem(15);
- #lorem(25);
- #lorem(42);
- #lorem(27).