Bachelor's Thesis

Design and Implementation of Train Driver Examination System

Final Thesis 2.75 MB

Author of thesis: Martin Otradovec

Acad. year: 2025/2026

Supervisor: prof. Dr. Ing. Pavel Zemčík, dr. h. c.

Reviewer: Ing. Michal Vlnas

Abstract:

The goal of this work was to design and implement an information system for train driver assessment according to the methodology of Správa železnic. Existing solutions and the current assessment process were examined. A specification for a custom solution was determined based on the findings. The resulting implementation consists of a backend in Go and a frontend web application in Svelte. The system underwent user testing in the Správa železnic examination center and significantly simplifies the train driver assessment process.

Keywords:

single-page application, information system, online assessment system, user interface, train driver

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Lze odhlásit studenta (např. z důvodu nemoci) ze zkoušky?
  2. Je zde nějaký důvod proč se při vytváření zkoušky neověřuje zda počet zvolených otázek nepřekračuje počet vytvořených otázek v databázi?
  3. Pokud omylem "vytisknu" zkoušku pro daného studenta, lze tento krok vrátit zpět a přepnout zpátky do "online" formy?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Jedná se o zdařilý projekt. Student věnoval velké úsilí zejména implementační části práce v konzultaci se železničními odborníky a zpracoval funkční výstup. Textová část mohla být zpracována dříve a lépe, ale nakonec i ta skončila na solidní úrovni. Proto hodnotím stupněm dobře (C).

Evaluation criteria Verbal classification
Informace k zadání

Zadání práce, která byla zaměřena na vytváření testů a elektronické zkoušení v prostředí železniční dopravy, považuji za průměrně obtížné. Skýtylo však možnost tvůrčího rovinutí, kterého student v implementační části využil. Práci konzultoval i se železničními odborníky.  Celkově práci z pohledu implementační části považuji za zdařilou, po stránce textové zprávy za solidní.

Práce s literaturou

Pokud se týká literatury, student využil všechna doporučení a nad jejich rámec si obstarával literaturu a další zdroje samostatně a byl v tom iniciativní.

Aktivita během řešení, konzultace, komunikace

Student byl zpočátku velmi aktivní, později aktivity poněku uvadly a obnovily se až v průměhu letního semestru. Student pak chodíval na konzultace připraven.

Aktivita při dokončování

Text práce byl dokončen až velmi těsně před termínem odevzdání práce a korekce textu se povedlo zpracovat, ale za cenu odložení odevzdání práce, o které student žádal.

Publikační činnost, ocenění

-

Points proposed by supervisor: 70

Grade proposed by supervisor: C

Reviewer’s report
Ing. Michal Vlnas

Celkově se jedná o velmi dobrou práci. Zejména z hlediska realizační části. Textová část obsahuje výše zmíněné problémy. Navrhuji hodnocení stupněm  B.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Zadání hodnotím jako průměrně obtížné.

Prezentační úroveň technické zprávy

Základní struktura i rozsahy jednotlivých částí jsou dobré. Nicméně je zde několik problému. Na konci podkapitoly 2.4 jenž popisuje front-end je odstavec o SEO optimalizaci, který zde logicky nepasuje. Kapitola 5.2 je poměrně chaotická. Autor zde mluví o různých přístupech uchování konzistence otázek v testu v případě změny textu otázek samotných, avšak není jasné proč autor popisuje způsoby, jenž v implementaci použity nejsou. Současně zde autor zmiňuje nutnost přejmenování některých tabulek v databázi aniž by je předtím v nějakém kontextu aspoň zmínil což, i vzhledem k absenci databázového schématu v textu, mate čtenáře. 

Celkově je práce relativně pochopitelná, kromě kapitoly implementace jenž je pak složitější na pochopení.

79
Formální úprava technické zprávy

Jazyková stránka práce je poměrně dobrá, je zde velmi malé množství gramatických chyb či překlepů. Autor občas používá první mluvnickou osobu na místech kde to není vhodné.

Z typografického hlediska je zde několik prohřešků. Většina obrázků není zmíněna nikde v textu, čímž některé obrázky mohou postrádat smysl. Autor špatně sází uvozovky, kdy používá anglickou notaci namísto české. Dále pak občas chybí čárky či tečky na konci vět při sázení seznamů.

83
Realizační výstup

Realizační část vypadá velmi slibně. Obsahuje propracovaný systém zkoušení pro strojvedoucí. Lze vytvářet online testy, zadávat výsledky ústních testů a i výsledky praktické zkoušky.

Nicméně zaznamenal jsem zde pár chyb či problémů. Pokyny k zprovoznění aplikace nejsou příliš jednoznačné a Docker soubor obsahoval chybu. V aplikaci se mi pak nepodařilo vygenerovat PDF s protokolem či tištěnou verzí zkoušky. 

90
Využitelnost výsledků

Po doladění je zřejmě předpokládáno nasazení v rámci vzdělávacího centra Správy železnic.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Všechny body zadání jsou splněny.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Práce cituje celkem 36 zdrojů, kde většina odkazuje na relevantní odborné publikace typu články, knihy, konferenční příspěvky apod. Citace jsou v textu umístěny správně.

90
Topics for thesis defence:
  1. Lze odhlásit studenta (např. z důvodu nemoci) ze zkoušky?
  2. Je zde nějaký důvod proč se při vytváření zkoušky neověřuje zda počet zvolených otázek nepřekračuje počet vytvořených otázek v databázi?
  3. Pokud omylem "vytisknu" zkoušku pro daného studenta, lze tento krok vrátit zpět a přepnout zpátky do "online" formy?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová