-
Notifications
You must be signed in to change notification settings - Fork 0
/
thesis.tex
163 lines (152 loc) · 6.87 KB
/
thesis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% I, the copyright holder of this work, release this work into the
%% public domain. This applies worldwide. In some countries this may
%% not be legally possible; if so: I grant anyone the right to use
%% this work for any purpose, without any conditions, unless such
%% conditions are required by law.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
digital, %% The `digital` option enables the default options for the
%% digital version of a document. Replace with `printed`
%% to enable the default options for the printed version
%% of a document.
%% color, %% Uncomment these lines (by removing the %% at the
%% %% beginning) to use color in the printed version of your
%% %% document
oneside, %% The `oneside` option enables one-sided typesetting,
%% which is preferred if you are only going to submit a
%% digital version of your thesis. Replace with `twoside`
%% for double-sided typesetting if you are planning to
%% also print your thesis. For double-sided typesetting,
%% use at least 120 g/m² paper to prevent show-through.
lof, %% The `lof` option prints the List of Figures. Replace
%% with `nolof` to hide the List of Figures.
nolot, %% The `lot` option prints the List of Tables. Replace
%% with `nolot` to hide the List of Tables.
]{fithesis4}
%% The following section sets up the locales used in the thesis.
\usepackage[resetfonts]{cmap} %% We need to load the T2A font encoding
\usepackage[T1,T2A]{fontenc} %% to use the Cyrillic fonts with Russian texts.
\usepackage[
main=english, %% By using `czech` or `slovak` as the main locale
%% instead of `english`, you can typeset the thesis
%% in either Czech or Slovak, respectively.
english, czech, slovak %% The additional keys allow
]{babel} %% foreign texts to be typeset as follows:
%%
%% \begin{otherlanguage}{czech} ... \end{otherlanguage}
%% \begin{otherlanguage}{slovak} ... \end{otherlanguage}
%%
%% For non-Latin scripts, it may be necessary to load additional
%% fonts:
%\usepackage{paratype}
%\def\textrussian#1{{\usefont{T2A}{PTSerif-TLF}{m}{rm}#1}}
%%
%% The following section sets up the metadata of the thesis.
\thesissetup{
date = \the\year/\the\month/\the\day,
university = mu,
faculty = fi,
type = bc,
department = Department of Computer Systems and Communications,
author = Filip Karniš,
gender = m,
advisor = {RNDr. Miloš Liška, Ph.D.},
title = {Shongo Reservation System Backend REST API},
TeXtitle = {Shongo Reservation System Backend REST API},
keywords = {reservation system Shongo, REST API, CESNET, Java, Spring, videoconference},
TeXkeywords = {reservation system Shongo, REST API, CESNET, Java, Spring, videoconference},
abstract = {%
The main goal of this bachelor thesis is to design and implement REST API for the reservation system Shongo, developed and operated by the CESNET association. The API will expose the Shongo back-end (Controller module) to a new front-end, which is a goal of another thesis.
This paper first introduces the Shongo system, describes its current state, and discusses necessary changes in its architecture. After describing the used technologies, the accomplished implementation is presented, and the resulting API is defined.
The implemented REST API is ready to expose the Shongo system to the higher layers, especially to the new front-end. The result is a complete separation of the Shongo system's front-end and back-end.
},
thanks = {%
I would like to thank my advisor RNDr. Miloš Liška, Ph.D., for leadership and valuable comments during the creation of my work.
I would also like to thank my family and friends for their support and the possibility to write this thesis without interruption.
},
bib = bibliography/example.bib,
%% Remove the following line to use the JVS 2018 faculty logo.
facultyLogo = fithesis-fi,
}
\usepackage{makeidx} %% The `makeidx` package contains
\makeindex %% helper commands for index typesetting.
% \usepackage[acronym]{glossaries} %% The `glossaries` package
% \renewcommand*\glspostdescription{\hfill} %% contains helper commands
% \loadglsentries{misc/abbreviations_and_glossaries} %% for typesetting glossaries
% \makenoidxglossaries %% and lists of abbreviations.
%% These additional packages are used within the document:
\usepackage{paralist} %% Compact list environments
\usepackage{amsmath} %% Mathematics
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{url} %% Hyperlinks
\usepackage{markdown} %% Lightweight markup
\usepackage{listings} %% Source code highlighting
\lstset{
basicstyle = \ttfamily,
identifierstyle = \color{black},
keywordstyle = \color{blue},
keywordstyle = {[2]\color{cyan}},
keywordstyle = {[3]\color{olive}},
stringstyle = \color{teal},
commentstyle = \itshape\color{magenta},
breaklines = true,
}
\usepackage{floatrow} %% Putting captions above tables
\floatsetup[table]{capposition=top}
\usepackage[babel]{csquotes} %% Context-sensitive quotation marks
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
% numberstyle=\tiny\color{gray},
% keywordstyle=\color{blue},
% commentstyle=\color{dkgreen},
% stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
%% Scales graphics to max \textwidth.
\newlength{\imgwidth}
\newcommand\scalegraphics[3]{
\settowidth{\imgwidth}{\includegraphics{#1}}
\setlength{\imgwidth}{\minof{\imgwidth}{\textwidth}}
\begin{figure}[!ht]
\centering
\includegraphics[width=\imgwidth]{#1}
\caption{#2}
\label{fig:#3}
\end{figure}
}
\begin{document}
%% Uncomment the following lines (by removing the %% at the beginning)
%% and to print out List of Abbreviations and/or Glossary in your
%% document. Titles for these tables can be changed by replacing the
%% titles `Abbreviations` and `Glossary`, respectively.
% \clearpage
% \printnoidxglossary[title={Abbreviations}, type=\acronymtype]
% \printnoidxglossary[title={Glossary}]
% \lstlistoflistings
\include{chapters/introduction}
\include{chapters/shongo}
\include{chapters/reason}
\include{chapters/technologies}
\include{chapters/implementation}
\include{chapters/api}
\include{chapters/conclusion}
\appendix %% Start the appendices.
\include{appendices/an-appendix}
\end{document}