\documentclass[12pt, a4paper, oneside]{book}
\usepackage[hidelinks]{hyperref}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{epstopdf}
\usepackage[chapter]{algorithm}
\usepackage[section]{placeins}
\usepackage{algorithmic}
\usepackage{listings}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{color}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage{tabularx}
\usepackage{textcomp}
\usepackage{caption}
\usepackage{natbib}
\usepackage{titlesec}
\usepackage{comment}
\usepackage{float}

\setstretch{1.5}
%\renewcommand\baselinestretch{1.5} % line height

% main information
\newcommand\mftitleone{Access control}
\newcommand\mftitletwo{for client-side graph-based queries}
\newcommand\mfthesistype{Diploma thesis}
\newcommand\mfauthor{Bc. Miroslav Baluch}
\newcommand\mfadvisor{Mgr. Ján Kľuka, PhD.}
\newcommand\mfplacedate{Bratislava, 2023}
\newcommand\mfyear{2023}
\newcommand\mfuniversity{COMENIUS UNIVERSITY IN BRATISLAVA}
\newcommand\mffaculty{FACULTY OF MATHEMATICS, PHYSICS AND INFORMATICS}
\newcommand{\sub}[1]{$_{\text{#1}}$}
\newcommand{\reference}[1]{č.~\ref{#1}}
\newcommand{\imageHeight}{150px}

\ifx\pdfoutput\undefined\relax\else\pdfinfo{ /Title (\mftitleone) /Author (\mfauthor) /Creator (PDFLaTeX) } \fi

\begin{document}

\frontmatter

\thispagestyle{empty}

\noindent
\begin{minipage}{\textwidth}
\begin{center}
\textbf{\mfuniversity \\
\mffaculty}
\end{center}
\end{minipage}

\vfill
\begin{figure}[!hbt]
	\begin{center}
		\includegraphics[scale=0.5]{images/fmfiuk_logo}
		\label{img:logo}
	\end{center}
\end{figure}
\begin{center}
	\begin{minipage}{0.8\textwidth}
		\centerline{\textbf{\Large\MakeUppercase{\mftitleone}}}
                \centerline{\textbf{\Large\MakeUppercase{\mftitletwo}}}
		\smallskip
		\centerline{\mfthesistype}
	\end{minipage}
\end{center}
\vfill
\mfyear \hfill
\mfauthor
\eject 
% end title page

\thispagestyle{empty}

\noindent
\begin{minipage}{\textwidth}
\begin{center}
\textbf{\mfuniversity \\
\mffaculty}
\end{center}
\end{minipage}

\vfill
\begin{figure}[!hbt]
\begin{center}
\includegraphics[scale=0.5]{images/fmfiuk_logo}
\label{img:logo}
\end{center}
\end{figure}
\begin{center}
\begin{minipage}{0.8\textwidth}
\centerline{\textbf{\Large\MakeUppercase{\mftitleone}}}
\centerline{\textbf{\Large\MakeUppercase{\mftitletwo}}}
\smallskip
\centerline{\mfthesistype}
\end{minipage}
\end{center}
\vfill
\begin{tabular}{l l}
Study programme: & Applied Computer Science\\
Field of Study: & Computer Science\\
Department: & Department of Applied Informatics\\
Supervisor: & \mfadvisor
\end{tabular}
\vfill
\noindent
\mfplacedate \hfill
\mfauthor
\eject 
% end title list

\thispagestyle{empty}
\begin{figure}[H]
\begin{center}
\makebox[\textwidth]{\includegraphics[page=1,scale=0.88]{images/assignment}}
\label{img:assignment_1}
\end{center}
\end{figure}

\thispagestyle{empty}
\begin{figure}[H]
\begin{center}
\makebox[\textwidth]{\includegraphics[page=2,scale=0.88]{images/assignment}}
\label{img:assignment_2}
\end{center}
\end{figure}
% end of assignment

{~}\vspace{12cm}

\noindent
\begin{minipage}{0.25\textwidth}~\end{minipage}
\begin{minipage}{0.75\textwidth}
I declare honestly that I have developed this diploma thesis
separately only using the literature
and with the help of my supervisor.
\newline \newline
\end{minipage}
\vfill
~ \hfill {\hbox to 6cm{\dotfill}} \\
\mfplacedate \hfill \mfauthor
\vfill\eject 
% end of declaration

% begin thanks
\chapter*{Thanks}\label{chap:thanks}
TBD
\vfill\eject 
% end thanks


% begin abstract
\chapter*{Abstract}\label{chap:abstract_en}
The work deals with the design and implementation of control of access rights of graph requests on the client side for the support study system named Courses. The current system does not sufficiently control access rights, with result that unauthorized users having access to data to which they should not have access. Due to this fact this system which is already fully deployed and used by students of the Faculty of Mathematics, Physics, and Informatics, will be modified and expanded with new components. The main changes will be made to the current application server, which ensures the operation of the application and provides users with the necessary and optional data. As this server is currently not sufficiently protected, each user has almost full access to the entire database. In addition, HTTP requests to the application server currently retrieve all data, even that the user does not need at all. This results in higher application and database server utilization, slower user response, and higher data transfer. Due to upcoming changes in the application server, it will be possible to extract a certain part of data and send only those which are required by the client. A common interface will be done for requests which will serve as the frontend part of the application. An additional feature that should be added is the simplification of the creation and deployment of new instances of the course system. In addition, straightforward changes in the database structure will be processed by the application server without the need for intervention by the programmer.
~\\
Keywords: application server, database, ontology, access rights, RDF
\vfill\eject 

\chapter*{Abstrakt}\label{chap:abstract_sk}
Práca sa zaoberá navrhnutím a implementovaním kontroly prístupových práv grafových dopytov na strane klienta pre podporný kurzový systém Courses. Momentálny systém nedostatočne kontroluje prístupové práva, čo ma za následok, že neautorizovaný používatelia majú prístup k dátam, ku ktorým by prístup nemali mať. Kvôli tomu bude tento systém, ktorý už je plne nasadený a využívaný študentami Fakulty matematiky, fyziky a informatiky pozmenený a rozšírený o nové súčasti. Hlavnou zmenou prejde momentálny aplikačný server, ktorý zabezpečuje fungovanie aplikácie a podáva používateľom potrebné dáta. Keďže tento server nie je momentálne dostatočne chránený, každý používateľ má prístup takmer k celej databáze. Okrem toho sa momentálne pomocou HTTP požiadaviek na aplikačný server získavajú všetky dáta, aj tie, ktoré používateľ vôbec nepotrebuje. To ma za dôsledok vyššiu vyťaženosť aplikačného a databázového servera, pomalšiu odozvu pre používateľov a vyšší prenos dát. Vďaka zmenám v aplikačnom serveri bude možnosť vytiahnuť iba určitú skupinu dát. Taktiež je snahou zjednodušiť vytváranie a nasadenie nových inštancií tohto kurzového systému. Zároveň jednoduchšie zmeny v štruktúre databázy budú spracované aplikačným serverom bez nutnosti zásahu programátorom.

~\\
Kľúčové slová: aplikačný server, databáza, ontológia, prístupové práva, RDF
\vfill\eject 
% end abstract

\tableofcontents

\mainmatter

\input 01intro.tex
\input 02semanticdatamodel.tex
\input 03graphql.tex
\input 04existingcoursesystem.tex
\input 05issueanalysis.tex
\input 06design.tex
\input 07implementation.tex
\input 08authorization.tex
\input 09conclusion.tex

\backmatter

\nocite{*}
\bibliographystyle{alpha}
\bibliography{references}

\listoffigures

\end{document}