-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathctufit-thesis.tex
266 lines (224 loc) · 11.8 KB
/
ctufit-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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
%% This is the ctufit-thesis example file. It is used to produce theses
%% for submission to Czech Technical University, Faculty of Information Technology.
%%
%% Get the newest version from
%% https://gitlab.fit.cvut.cz/theses-templates/FITthesis-LaTeX
%%
%%
%% Copyright 2024, Tomas Novacek
%% Copyright 2021, Eliska Sestakova and Ondrej Guth
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The current maintainer of this work is Tomas Novacek.
%% Alternatively, submit bug reports to the tracker at
%% https://gitlab.fit.cvut.cz/theses-templates/FITthesis-LaTeX/issues
%%
%%
% arara: pdflatex
% arara: biber
% arara: pdflatex
% arara: pdflatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CLASS OPTIONS
% language: czech/english/slovak
% thesis type: bachelor/master/dissertation
% colour: bw for black&white OR no option for default colour scheme
% electronic (oneside) or printed (twoside), twoside is default
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[english,bachelor,unicode,oneside,bw]{ctufit-thesis}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FILL IN THIS INFORMATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ctufittitle{Application for configuration of modular products} % replace with the title of your thesis
\ctufitauthorfull{Michal Dobeš} % replace with your full name (first name(s) and then family name(s) / surname(s)) including academic degrees
\ctufitauthorsurnames{Dobeš} % replace with your surname(s) / family name(s)
\ctufitauthorgivennames{Michal} % replace with your first name(s) / given name(s)
\ctufitsupervisor{Ing.\,Jiří Hunka} % replace with name of your supervisor/advisor (include academic degrees)
\ctufitdepartment{Department of Software Engineering} % replace with the department of your defence
\ctufityear{2024} % replace with the year of your defence
\ctufitdeclarationplace{Prague} % replace with the place where you sign the declaration
\ctufitdeclarationdate{\today} % replace with the date of signature of the declaration
\ctufitabstractCZE{Tato bakalářská práce se zabývá návrhem a vývojem webové aplikace pro 3D online konfiguraci modulárních produktů. Práce analyzuje existující srovnatelné aplikace a implementuje produktově nezávislý, pouze front-endový a~přizpůsobitelný webový konfigurátor koncipovaný pro použití v malých podnicích. Konfigurátor umožňuje přímočarou definici konfigurovatelných produktů a funguje výhradně pomocí webového serveru. Implementace využívá moderní technologie a kombinuje Three.js a React. Práce dále popisuje nasazení vy\-vinutého řešení na příkladném scénáři v reálném prostředí a jsou diskutovány byznysové aspekty aplikace. Výsledkem této bakalářské práce je nástroj, který mohou podniky využít k zavedení modulární konfigurace produktů na svých webových stránkách.}
\ctufitabstractENG{This bachelor's thesis focuses on the design and development of a web application for 3D online configuration of modular products. The thesis examines comparable existing applications and implements a product-agnostic, front-end-only, customizable web configurator conceived for use by small businesses. The configurator provides a straightforward definition of configurable products and operates solely using a web server. The implementation leverages modern technologies, combining Three.js with React. The thesis furthermore describes an example deployment of the created solution in a real-world scenario and discusses the business aspects of the application. The result of this bachelor's thesis is a tool businesses can use to introduce modular product configuration on their websites.}
\ctufitkeywordsCZE{masová kustomizace, 3D konfigurátor, webová aplikace,\linebreak modulární produkt, Three.js, React, vývoj front-endu}
\ctufitkeywordsENG{mass customization, 3D configurator, web application, modular product, Three.js, React, front-end development}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% END FILL IN
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CUSTOMIZATION of this template
% Skip this part or alter it if you know what you are doing.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{iftex}[2020/03/06]
\iftutex % XeLaTeX and LuaLaTeX
\RequirePackage{ellipsis}[2020/05/22] %ellipsis workaround for XeLaTeX
\else
\RequirePackage[utf8]{inputenc}[2018/08/11] %this file encoding
\RequirePackage{lmodern}[2009/10/30] % vector flavor of Computer Modern font
\fi
% hyperlinks
\RequirePackage[pdfpagelayout=TwoPageRight,colorlinks=false,allcolors=decoration,pdfborder={0 0 0.1}]{hyperref}[2020-05-15]
% uncomment the following to hide all hyperlinks
%\hypersetup{hidelinks}
% uncomment the following to change the colour of all hyperlinks to CTU blue
%\hypersetup{allbordercolors=decoration}
\RequirePackage{pdfpages}[2020/01/28]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CUSTOMIZATION of this template END
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
% DEMO CONTENTS SETTINGS
% You may choose to modify this part.
%%%%%%%%%%%%%%%%%%%%%%
\usepackage{dirtree}
\usepackage{lipsum,tikz}
\usepackage[sorting=none,backend=biber,bibencoding=utf8,style=iso-numeric]{biblatex}
\addbibresource{text/bib-database.bib}
\usepackage{xurl}
\usepackage{listings}
\usepackage{minted}
\usepackage{csquotes}
\usepackage{textcomp}
\usepackage{pdflscape}
\usepackage{wrapfig}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{array}
\usepackage{microtype}
\usepackage[acronym,toc]{glossaries}
\makeglossaries
%%%%%%%%%%%%%%%%%%%%%%
% DEMO CONTENTS SETTINGS END
%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\frontmatter\frontmatterinit % do not remove these two commands
\includepdf[pages={1-}]{dobesmic-assignment.pdf} % replace that file with your thesis assignment provided by study office
\thispagestyle{empty}\cleardoublepage\maketitle % do not remove these three commands
\imprintpage % do not remove this command
\microtypesetup{protrusion=false}
\tableofcontents % do not remove this command
%%%%%%%%%%%%%%%%%%%%%%
% list of other contents: figures, tables, code listings, algorithms, etc.
% add/remove commands accordingly
%%%%%%%%%%%%%%%%%%%%%%
\listoffigures % list of figures
\begingroup
\let\clearpage\relax
\listoftables % list of tables
\thectufitlistingscommand
\endgroup
\microtypesetup{protrusion=true}
%%%%%%%%%%%%%%%%%%%%%%
% list of other contents END
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
% ACKNOWLEDGMENT
% FILL IN / MODIFY
% This is a place to thank people for helping you. It is common to thank your supervisor.
%%%%%%%%%%%%%%%%%%%
\begin{acknowledgmentpage}
I want to express my heartfelt gratitude to my supervisor, Ing.~Jiří~Hunka, for enabling me to create a bachelor's thesis on this topic and for providing invaluable advice throughout the entire process.
\vspace{1em}
I am also profoundly thankful to the testers for their time and feedback in the usability testing of the solution.
\vspace{1em}
Last but not least, I want to thank my family and friends for their inexhaustible moral and material support, which enabled my bachelor's study at the university.
\end{acknowledgmentpage}
%%%%%%%%%%%%%%%%%%%
% ACKNOWLEDGMENT END
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
% DECLARATION
% FILL IN / MODIFY
%%%%%%%%%%%%%%%%%%%
% INSTRUCTIONS
% ENG: choose one of approved texts of the declaration. DO NOT CREATE YOUR OWN. Find the approved texts at https://courses.fit.cvut.cz/SFE/download/index.html#_documents (document Declaration for FT in English)
% CZE/SLO: Vyberte jedno z fakultou schvalenych prohlaseni. NEVKLADEJTE VLASTNI TEXT. Schvalena prohlaseni najdete zde: https://courses.fit.cvut.cz/SZZ/dokumenty/index.html#_dokumenty (prohlášení do ZP)
\begin{declarationpage}
I hereby declare that the presented thesis is my own work and that I have cited all sources of information in accordance with the Guideline for adhering to ethical principles when elaborating an academic final thesis.
I acknowledge that my thesis is subject to the rights and obligations stipulated by the Act No. 121/2000 Coll., the Copyright Act, as amended. In accordance with Section 2373(2) of Act No. 89/2012 Coll., the Civil Code, as amended, I hereby grant a non-exclusive authorization (licence) to utilize this thesis, including all computer programs that are part of it or attached to it and all documentation thereof (hereinafter collectively referred to as the "Work"), to any and all persons who wish to use the Work. Such persons are entitled to use the Work in any manner that does not diminish the value of the Work and for any purpose (including use for profit). This authorisation is unlimited in time, territory and quantity.
\end{declarationpage}
%%%%%%%%%%%%%%%%%%%
% DECLARATION END
%%%%%%%%%%%%%%%%%%%
\printabstractpage % do not remove this command
%%%%%%%%%%%%%%%%%%%
% ABBREVIATIONS
% FILL IN / MODIFY
% OR REMOVE ENTIRELY
% List the abbreviations in lexicography order.
%%%%%%%%%%%%%%%%%%%
\newglossarystyle{tabular-style}{
\renewenvironment{theglossary}{\begin{tabular}{rl}}{\end{tabular}}
\renewcommand*{\glossaryheader}{}
\renewcommand*{\glossentry}[2]{\glsentryshort{##1} & \glsentrylong{##1} \\}
\renewcommand*{\glsgroupheading}[1]{}
\renewcommand*{\glsgroupskip}{\relax}
}
\newacronym{ar}{AR}{Augmented Reality}
\newacronym{css}{CSS}{Cascading Style Sheets}
\newacronym{r3f}{R3F}{React Three Fiber}
\newacronym{webgl}{WebGL}{Web Graphics Library}
\newacronym{vr}{VR}{Virtual Reality}
\newacronym{spa}{SPA}{Single-Page Application}
\newacronym{url}{URL}{Uniform Resource Locator}
\newacronym{usdz}{USDZ}{Universal Scene Description Zip}
\newacronym{pdf}{PDF}{Portable Document Format}
\newacronym{api}{API}{Application Programming Interface}
\newacronym{erp}{ERP}{Enterprise Resource Planning}
\newacronym{html}{HTML}{Hypertext Markup Language}
\newacronym{ci}{CI}{Continuous Integration}
\newacronym{cd}{CD}{Continuous Deployment}
\newacronym{uml}{UML}{Unified Modeling Language}
\newacronym{gltf}{gLTF}{Graphics Library Transmission Format}
\newacronym{bvh}{BVH}{Bounding Volume Hierarchy}
\newacronym{json}{JSON}{JavaScript Object Notation}
\newacronym{fcp}{FCP}{First Contentful Paint}
\newacronym{http}{HTTP}{Hypertext Transfer Protocol}
\newacronym{dns}{DNS}{Domain Name System}
\newacronym{glb}{GLB}{Graphics Library Transmission Format Binary}
\newacronym{cad}{CAD}{Computer-Aided Design}
\newacronym{roi}{ROI}{Return on Investment}
\newacronym{dom}{DOM}{Document Object Model}
\newacronym{sus}{SUS}{System Usability Scale}
\printglossary[type=\acronymtype, style=tabular-style, title=\thectufitabbreviationlabel]
%%%%%%%%%%%%%%%%%%%
% ABBREVIATIONS END
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
% autoref rename sections
%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\chapterautorefname}{Chapter}
\renewcommand{\sectionautorefname}{Section}
\renewcommand{\subsectionautorefname}{Subsection}
\renewcommand{\subsubsectionautorefname}{Subsubsection}
%%%%%%%%%%%%%%%%%%%%%%
% autoref rename sections end
%%%%%%%%%%%%%%%%%%%%%%
\mainmatter\mainmatterinit % do not remove these two commands
%%%%%%%%%%%%%%%%%%%
% THE THESIS
%%%%%%%%%%%%%%%%%%%
\include{text/chapters/0}
\include{text/chapters/1}
\include{text/chapters/2}
\include{text/chapters/3}
\include{text/chapters/4}
\include{text/chapters/5}
\include{text/chapters/6}
\include{text/text} % include `text.tex' from `text/' subdirectory
\appendix\appendixinit % do not remove these two commands
\include{text/appendix-a}
\include{text/appendix-b}
\backmatter % do not remove this command
\printbibliography % print out the BibLaTeX-generated bibliography list
\include{text/medium}
\end{document}