Ing. Jan Matoušek

Theses

Bachelor theses

E-shop backend - supporting processes

Author
David Mareš
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Jiří Hunka
Summary
The work focuses on expanding the backend part of a system for managing an e-shop. As part of the work, a thorough analysis of the currently used solution was conducted, which needed to be replaced due to the use of outdated technologies and high complexity, making maintenance and scaling difficult. The work consists of several parts, each of which brings something new and useful for managing the e-shop. One of the key elements of this work is a tool for exporting data, which uses Doctrine ORM and a custom parser for composing database queries and creating files in selected data format. This tool was created with a focus on high configurability and security. Another significant element of the work is the solution for automating processes. The created solution uses Symfony Command together with The ScheduleBundle package for scheduling and managing individual tasks. Finally, the work deals with possible extensions of the created solution, especially the development of a user interface for creating configurations used by the data export tool, which was created as part of this work.

ETCS - EVC - Reversing, shunting and post trip mode implementation

Author
Matěj Malý
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
doc. Ing. Martin Leso, Ph.D.
Summary
This bachelor thesis extends the functionality of the ETCS simulator, which is being developed in collaboration with the Faculty of Transportation Sciences at CTU in Prague. ETCS is a united European train protection system. The focus of the thesis is the EVC component, which is the core of the on-board subsystem and is responsible for collection and evaluation of data from other components. The outcome of this thesis is the addition of modes reversing (mode used for reversing movements), shunting (mode used for shunting movements) and post trip (mode entered after emergency braking is over) to EVC. The thesis includes the design and description of the implementation of mode transitions and functionality in these modes. Furthermore, it describes how the solution was tested. The outcome of this thesis extends the possible scenarios that can be run in the simulator.

The Slime Element - Tower defense game with innovative mechanics

Author
Martin Němec
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Radek Richtr, Ph.D.
Summary
Goal of this thesis is to acquaint the readers with processes used for development of computer game, including analysis, design, implementation and testing of the game. The resulting game is of tower defense genre, which is analysed in the first part of the thesis alongside with analysis of game engines. Afterwards prototype of the game is designed and implemented using Unreal Engine. This game with the name "The Slime Element" is tower defense game created in 3D environment in third person view, which contains a set of mechanics not usually found in this genre, such as ability to fly through the map, finish quests in individual levels or use surrounding environment for your benefit. Prototype of the game is in the end subjected to user testing, where results of testing are summarized and the continuation of the project is outlined.

Video reporting portal

Author
Dmitry Belov
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Oldřich Malec
Summary
Thesis focuses on the development of a web portal prototype. First, the requirements for the prototype are determined using competition analysis. Subsequently, using software engineering methods, a suitable solution is designed to meet the requirements. Both the technologies used in the implementation and the necessary prototype functional are designed. After the design, I will demonstrate the use of the most important technologies in the implementation of the prototype. The entire implementation is written in JavaScript using TypeScript and other tools and libraries like Express and React. The finished implementation is then tested and the shortcomings of the implemented prototype are determined. The result is a functional prototype fulfilling the identified requirements. The work could be followed by finishing the prototype in to the production version, enriching it with another functionality and by fixing shortcomings of prototype.

Magitech - Player / Nonplayer character interaction module

Author
Štěpán Vejvoda
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Filip Glazar
Summary
This bachelor`s thesis deals with development of a player-npc interaction system. The individual modules are based on analysis of videogames from the same genre. The thesis also includes a commentary on implementation and developer/player testing.

ETCS - EVC - Braking curves computation module

Author
Jiří Doležal
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
doc. Ing. Martin Leso, Ph.D.
Summary
This bachelor's thesis deals with the European train security system ETCS, specifically the simulator of the mentioned security system, which is created in cooperation between the Faculty of Transport and the Faculty of Information Technologies of the Czech Technical University in Prague. The thesis focuses on the calculation of braking curves and the limits associated with them. The created solution calculates the train distance for a given speed and is thus an integral part of the mechanism that prevents the train from colliding with its surroundings. The benefit of this work is the comprehensibility and clarity of the braking curve code, which makes the module easy to use for other members of the project. Another advantage is the structuring of the code, which enables quality testing.

Project allocation planning tool

Author
Martin Německý
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Filip Kirschner
Summary
This bachelor thesis focuses on the project resource (employee) allocation problem, where the main assignment criterion is the preferences of employees for projects. The constraint programming technique is used here, which allows the allocation problem to be solved in a declarative way using the constraint specification. The work also contains an analysis of the requirements, from which the design and architecture of the application are based. The subsequent implementation of the application is tested using the generated data for calculation time and solution quality.

Enemy recommendation algorithm for Dungeons and Dragons groups

Author
Matěj Mikušek
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Summary
The content of this thesis is to design an algorithm for Dungeon Masters that will recommend suitable enemies in the role-playing game Dungeons and Dragons (DnD). The thesis describes the issue of choosing suitable enemies for specific parties, then analyzes the existing functional solutions, especially web and mobile applications, which allow random generation of enemies according to the specified party of players and other criteria. Furthermore, the work describes research among Dungeon Masters, focusing on their satisfaction with the current solutions, their view on the applicability of these solutions in practice, and suggestions for what an ideal algorithm for generating enemies should take into account and enable. The algorithm was designed in the work based on the results of the conducted surveys and analyzes in order to best help the Dungeon Master in making decisions when choosing suitable enemies for his specific group of players and their game characters. This was achieved in part by taking into account the abilities of individual player characters and generated enemies in addition to the usual criteria such as character level and enemy challenge rating. However, the biggest part of the correct functionality of the algorithm is the use of genetic algorithm, where the created algorithm simulates the fight of a party of players with individual groups of generated enemies and includes only those simulation results that best match the required criteria in the resulting design of enemies for the Dungeon Master. The conclusion of the work is the creation of a web application using the created algorithm, the actual testing during real DnD games and a description of the possibilities of how this work can be followed up in the future.

Relational database structure synchronization with GIT

Author
Tomáš Krupička
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Michal Valenta, Ph.D.
Summary
The goal of this thesis is to analyze and create a solution for ways of using the Git versioning system for versioning and synchronization of changes in a database model, focused mainly on usage in a large-scale company environment. This thesis is based on an existing solution for synchronizing changes from a database to Git and other conventions and software already used in target environment. The thesis also designs a system as a whole using said existing solution and own created solution for deploying changes made in Git to a database. The final solution should allow an effective usage of the Git versioning tool and its extensions (like Azure Repos) and also account for possible complications that can arise from a heavier load of the system.

ETCS - Module for communication between EVC and RBC

Author
Daria Roshchupkina
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
doc. Ing. Martin Leso, Ph.D.
Summary
This thesis is concerned with the design for the ETCS simulator of libraries of variables, packets and messages, which are necessary for communication between EVC and RBC, and with the design for this simulator of the communication module for communication between EVC and RBC on the EVC side, for versions 2.3.0, 3.4.0 and 3.6.0 of the system requirements for ETCS defined by the SUBSET-026 developed by ERA. This work also describes the implementation of the libraries of variables for each of versions 2.3.0, 3.4.0 and 3.6.0 and the implementation of libraries of selected packets for each version, which are based on this design. It also describes the differences and similarities of ETCS language's variables, packets, and messages, which are required for communication between EVC and RBC modules in the ETCS simulator, and communication with RBC from the EVC side between versions 2.3.0, 3.4.0 and 3.6.0 of the ETCS system requirements.

Magitech - Dungeon generator

Author
Jiří Macháček
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Adam Vesecký
Summary
The goal of this bachelor thesis is to create a procedural generator of game environments - dungeons - for the game Magitech. The paper analyzes the methods of procedural content generation, which can be used to generate different types of dungeons. From the analyzed methods, the most suitable method for use in the case of Magitech - the use of agents - is selected. The agent-based dungeon generator is then designed and implemented in the game using the Unity environment. The generator is finally thoroughly tested. The generator module implemented in this work meets the requirements set by the client, and will be incorporated into the game in the future.

ETCS - Dynamic speed monitoring module for EVC

Author
Alina Krasnenkova
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
doc. Ing. Martin Leso, Ph.D.
Summary
The first part of this thesis gives an overview of the ETCS, gives the description of the EVC and its main functionalities, that are necessary for the speed and distance monitoring of the train. The second part describes the design and implementation of the module, that is created for this thesis. This module is parted into three submodules: messages and packets receiver, MRSP calculator and dynamic speed monitoring.

E-shop backend - shopping cart and order processing

Author
Nikita Golmgren
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Jiří Hunka
Summary
This bachelor's thesis deals with systems of creating and processing orders in e-shops. In this thesis, a thorough analysis both of the topic and the current state of newly developed e-shop backend Porcupine from the company Jagu s.r.o. was conluded. Based on the result of the analysis, a shopping cart module was designed, using the practices of Domain-Driven Development and the MVC design pattern. The programming language PHP 8.1 with Symfony framework was used to implement the created design, which was then integrated into the Porcupine system and tested. The outcome of this thesis is a backend module for e-shops capable of creating orders from selected products.

Song book for religious gatherings - mobile application

Author
Ondřej Wrzecionko
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Jiří Kašpar
Summary
Thesis deals with analysis, proposal, implementation, testing and deployment of iOS and macOS application of song book for religious gatherings and supporting server providing REST API for this mobile application. Application is implemented in programming language Swift, supporting server is implemented in programming language Kotlin with use of technology Spring Web. Application allows users to display and manage songs in song books and assign song books to bands. Within these bands, leader manages members and song books, musician manages songs and singers are shown only songs and song books. Users can set song lyrics, chords, lyrics font size, bpm, default transposition and private notes. Application is deployed to iOS and macOS application store App Store. During first month, four religious gatherings started using the application and by now, over 1 000 songs in 10 song books have been added to the application.

Master theses

King Karel - An Educational Programming Puzzle Game

Author
Jan Bittner
Year
2022
Type
Master thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Petr Pauš, Ph.D.
Summary
The master's thesis deals with the development of a prototype of the game King Karel -- an educational programming puzzle game. The thesis describes the process of analysis, design, and implementation of the mentioned game, emphasizing the design of the architecture of individual parts. The client part is created using the Flutter framework, and the server part is created using the ASP.NET Web API framework.

Pressure vessel and technology review management system

Author
Pavel Jordán
Year
2024
Type
Master thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Monika Borkovcová, Ph.D.
Summary
This diploma thesis deals with the design and implementation of a new system for the review management of pressure vessels and other technology. I create a tailor-made system for the company where I work at. I begin with a description of the revision domain and the necessary theory. I go through existing solutions on the market and then perform complete analysis of the functions of both the current solution and new functions. Based on this analysis, an application design is created with an emphasis on simplicity and ease of use. The next part of this work is devoted to the implementation of the system, followed by its testing and verification of use. The work is completed by deploying the system for use.

Object-relational mapping for database access in JavaScript

Author
Ladislav Louka
Year
2023
Type
Master thesis
Supervisor
Ing. Jan Matoušek
Reviewers
Ing. Jaroslav Šmolík
Summary
In this thesis, we investigate the role of Object Relational Mapping (ORM) and query builder packages in JavaScript, focusing on the support of TypeScript. The study aims to compare various packages, assessing their flexibility and performance overhead to facilitate an informed decision-making process for developers. Such comparison is important due to modern applications' proliferation of database access.