Ing. Jiří Mlejnek

Theses

Bachelor theses

SmartBuildings - Security cameras

Author
Ondřej Perutka
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Martin Komárek

Test Data Generator

Author
Karel Ševčík
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis is devoted to the development of an application for generating test data. The aim of this thesis is to design and implement a prototype that will support generating data for Oracle and SQL Server databases and will be extendable to support other databases in the future. By integrating with GEM Winch, the application will be able to generate meaningful data using its extensive dictionaries.

Design and implementation of multiplayer web game

Author
Petr Košvanec
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The topic of this bachelor thesis is the design and development of an online multiplayer game, offering pleasant game experience to all players. The game is browser-based. In the first part, certain aspects of browser-based online games are discussed and compared, such as usage of real money to gain in-game benefits and other competitive games of the same genre. In the second part, based on these observations, system requirements are analyzed and the theme of the the game is uncovered. This analysis is followed by the design, including the choice of technologies used, the database model and folder structure. In the last part, a reader learns more about the game logic, deployment of the application, handling security and in the very conclusion, project's future plan is revealed to them. The theme of the game is inhospitable sci-fi world of starship races and bets. Fair play are just words, only one can win and they will do that at any cost!

A personal planning system based on the Getting Things Done method

Author
Michal Sláma
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This bachelor's thesis contains the analysis of personal planning based on the "Getting Things Done" methodology. It compares existing solutions, it suggests its own information system and it looks for suitable technologies. The thesis contains the implementation of the application for central data saving that expose the REST API and the implementation of the mobile application for OS Android based on the thin client principle. It also suggests and contains the implementation of data export for the Facebook Calendar and the Google Calendar. It describes the installation of the web server on the DigitalOcean portal.

Data layer implementation for an anonymization tool

Author
Matěj Schuh
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This Bachelor thesis is focused on the issue of anonymization of personal and sensitive data in information systems. Given the current and coming regulations, anonymization is an inseparable part of the protection of these data, that are currently in almost every system. The theoretical part is dedicated to explaining concepts related to anonymization and explanation of its meaning and use. The practical part aims to modify the interface for retrieving anonymization settings in an existing anonymization tool and implementing a new data layer for this settings. Thesis focuses on the description of the current implementation of the tool and the modifications are discussed in the scope of general design patterns together with examples from the real environment. This work not only provides an overview of the issue of anonymization of personal data before the General Data Protection Regulation starts to apply, but also provides a detailed description of the modified anonymization tool including the discussion of newly implemented parts. A comprehensive description of this tool is something, which has been missing to this tool, so thesis can be used in further development as the basis for a better understanding of the tool.

Extension of a database model synchronization tool

Author
Adam Kugler
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This bachelor thesis is about comparison and synchronization of database models. Main goal is to continue in my colleagues work from previous years and extend their tool that can work with Enterprise Architect and Oracle database. Extension includes MySQL and PostgreSQL as new data sources for this tool. This thesis consists of extension requirements analysis, extension design and implementation. Analysis is mostly about data type transformation for different types of databases. Implementation relates mainly to data layer. Java is implementation language. This tool should help user with database model comparison. Models don't have to be from same database system so it is able to transfer database schema to different system.

Central management of computers in Kiosk mode

Author
Jan Klička
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis deals with development of a server for managing kiosks, which are Raspberry Pi devices showing a webpage. Another goal is to create an effective installation process of these kiosks. The server is written in Java programming language using framework Spring to expose REST API. Raspberry Pi runs on Raspberry Pi OS, which is modified during its installation on SD card. The output of this thesis is a system ready for production deployment.

Personal data discovery in relational database systems

Author
David Skalský
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This Bachelor's thesis analyses personal data according to the GDPR regulation in both their formal appearance and their appearance in the actual databases. It also contains both the design and the implementation of the system that is able to actively search for the analysed personal data in relational databases. The implementation part is an extension to an already existing utility used for personal data anonymization called Winch. The backend of this utility is coded in the Groovy programming language and supports Oracle DB and Microsoft SQL server. Apart from securing the functionality it also aims to optimize and test the performance of the final result.

Anonymization tool extension

Author
Pavel Perner
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
Bachelor thesis is focused on finding way to create extension mechanism for existing anonymization tool. This feature was promised to end users although was not introduced yet. Situation described is mainly caused by complications during app development. The theoretical part of this thesis deals with possibilities of application extending. Besides those, it also introduce the reader to design patterns, concept of refactoring and the anonymization tool itself. The practical part is focused on design, realization and verification of the application extensions mechanism. It includes description of necessary code modifications required by the implementation as well. The thesis also contains the programming guide in its electronic form. The programming guide helps end users with the process of creating custom extensions for the tool. The result of this thesis is a modified tool that now allows not only clients but developers of the tool themselves to supply their own components in the form of plugins. The anonymization tool is now able to handle unlimited number of extensions and each can add one or more basic components.

Personal data anonymization for MySQL and Teradata databases

Author
Ondřej Brychta
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The work deals with extending an existing tool GEM Winch, which allows to perform data cuts and to find and anonymize personal data in databases. Winch is extended by adding support for MySQL and Teradata database systems on top of the four systems currently supported by the tool. Because of Winch's design, a lot of contained code or logic is duplicated within individual modules as well as across implementations for different database systems and so adding support for new database systems is a challenging and very time-consuming process requiring a lot of anonymization functions, already implemented in older modules, to be repeatedly written again with minimal changes. Therefore, based on the analysis of current implementations of Winch and their differences, I am proposing a new approach, which would lead to simplification of this process and reduce the amount of duplicated logic. Because a big part of the duplicated code is contained within SQL source codes of individual anonymization functions for different databases, the solution I have chosen is based on using generators and templates as an attempt to generate these SQL source codes dynamically. The effectiveness and usage of this approach is shown on newely added Winch implementations for MySQL and Teradata. More detailed look on the proposed process of generating SQL source codes is covered by the following text, as well as its implementation, testing and evaluation.

Extending Smartbuildings of ability to control via bluetooth

Author
Karel Ploc
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Personal data anonymization for PostgreSQL database

Author
Tomáš Průšek
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The bachelor thesis focuses on the analysis of the current state of anonymization in the PostgreSQL database in the tool Winch and the implementation of the missing parts of anonymization. In addition, it deals with the design and implementation of the extension for anonymizing XML and JSON documents in the PostgreSQL database in the Winch tool. The analytical part focuses on identifying the missing parts of anonymization in the PostgreSQL database. Moreover, it analyzes the tools provided by the PostgreSQL database for working with JSON and XML documents. Based on the information found, the anonymization of JSON documents was implemented using the tools provided by the PostgreSQL database, and the PL/Python extension was used to implement the anonymization of XML documents. The result of the bachelor thesis is fully functional anonymization in the PostgreSQL database, including an extension allowing to anonymize structured documents.

Presentation layer of a database structure synchronization tool

Author
Ondřej Kála
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Extension of the Project Exchange System

Author
Jakub Neburka
Year
2016
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis continues to develop the Projects Exchange system whose purpose is to offer projects from various sources to the students. Development of basic system functions is completed and the system is extended to offer the final theses topics and the projects from the Cooperation with Industry portal. The work describes the process of requirements analysis, design, implementation and testing. The output of this work consists of the server application, the web user interface, the support tools and the documentation.

Managing Code Lists in IT Systems

Author
Přemysl Dědic
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The work deals with code lists. It defines their structure, examines the possibilities of storing them directly in the environment of the Object extension of the Oracle relational database. Finally we use the Oracle to develop the server part of the REST interface for publishing them. It also includes the creation of a GUI client interface that allows versioned editing of both the structure and the contents of the code lists.

Personal data anonymization in documents

Author
Radomír Ort
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
Winch is a data anonymization tool marketed by GEM System, a small software house based in Prague, Czech Republic. Designed to sanitize personal data in relational databases, the tool lacks support for handling confidential data in documents stored on a file system. This thesis is intended to be an early step of an initiative to close this gap. The thesis lays out multiple options for building a model representing the contents of structured files (such as XLS or ODS workbooks produced by MS Office or Open Office suites or CSV files) as well as non-structured documents and discusses their qualities in order to choose the most suitable model. An extension to Winch is then designed and developed, incorporating the selected model. The resulting implementation delivers data anonymization for XLS and XLSX files stored on local and network disk drives; the thesis gives instructions on how to extend support to other file types and repositories. The committed code is fully tested.

Network device management tool

Author
Lukáš Merta
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis deals with configuration of multiple network devices and includes responsive web interface to target many devices. Its main focus is on user and interface management of RouterOS powered systems. To each device connects via API or SSH protocol.

Business layer for a database synchronization tool

Author
Martin Novák
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

SmartBuildings - SMS communication

Author
Tomáš Zrůst
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Martin Komárek

Comparison of technologies for backend implementation in Java

Author
Branislav Zlacký
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Jiří Daněček
Summary
This bachelor thesis covers implementation of a backend application that serves as a simple social network. This backend is implemented using Java language in four different technologies Spring, Quarkus, Micronaut and AWS. It also offers login using Google OAuth 2.0 and a user maintained logged in using JWT. Since it is a social network, it includes images that are managed using Cloudinary service. In addition to the classic SQL database is used a NoSQL database called Elasticsearch. Logstash is used to synchronize data between the two databases. Prometheus and Grafana are used to monitor and obtain metrics from the application. For the local development of AWS backend is used Localstack and commands offered by AWS CLI. With help of Docker, which for each part of the application creates container, it is easy to run these backends and with them launch the auxiliary services and technologies. These containers can be launched simultaneously using Docker Compose. The main goal is to compare these implementations in terms of the complexity of development and support for testing.

SmartBuildings - Graphical user interface

Author
Jaroslav Machotka
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

IoT Platform with Web Interface

Author
Martin Skalický
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Tomáš Vondra, Ph.D.
Summary
This thesis focuses on a comparison of existing IoT platforms available on the market for smart homes and subsequent design of a custom solution including its implementation. The backbone of whole solution is definition of a scheme that will be used by every connected device to describe its capabilities. User is presented to a generated interface based on the description of connected devices. Platform is designed for use by technical enthusiasts, who want to control all their devices through single interface. The user interface is realized as progressive web app. Part of the thesis also deals with a design and manufacturing of smart device based on chip ESP8266 with purpose of measuring a temperature in a smokehouse. On this smart device the thesis also demonstrates a connection of a device to the platform.

Anonymization models validator

Author
Kateřina Kindlová
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The bachelor thesis focuses on creating and implementing anonymization model validator into GEM Winch. This expansion is programmed into Winch Actor application in the programming language Groovy. The analytical part contains information about a database model, data constraints and introduces the tool GEM Winch. Based on gained information, new rules of validation are drafted in the next chapter. Each rule is implemented by a validator class. If the rule could be violated and the anonymization process might fail, a warning is written. All possible warnings can be easily displayed. The result of this thesis is a practical extension of GEM Winch, which makes it work better for users, and new implementation and changes to the functions in Winch Actor, which makes future expanding of the project easier.

Hazardous Chemicals Database

Author
Markéta Wachtlová
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Summary
The aim of this thesis is to design and implement an application allowing the management of a database of hazardous chemical substances. The thesis discusses the choice of a suitable database system and a data storage scheme. The output of the practical part are scripts for converting data from an existing solution into a new application.

Data subsets and anonymization

Author
Petr Smítka
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Application for evaluating the task completion in development tools

Author
Anna Churina
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This bachelor's thesis deals with the development of an application for evaluating the fulfillment of tasks in development tools. The application serves to monitor and automatically evaluate the tasks that will be completed by students within the subjects at the Faculty of Information Technologies of the Czech Technical University in Prague. The application will primarily be used for the purposes of the Introduction to DevOps course. The analytical part of the thesis deals with the analysis of the requirements for the application, the design of the way of defining tasks, the selection of technologies for implementation and the design of the application. The output of the work is an implemented application that allows to record the completion of students' tasks.

SmartBuildings - system core logic extension

Author
Pavel Švec
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Pavel Loupal, Ph.D.

Web application implementation for organizing camps

Author
Jan Převrátil
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Pavel Štěpán
Summary
The theoretical part of this bachelor thesis deals with the problem of current information systems intended for camps. It analyzes in detail the Czech market of camp catalogs and information systems from the user prespective. The thesis further identifies the missing functionalities of existing solutions and then compares suitable technologies for implementation. The multi-platform Kotlin language with Spring (for the server) and KVsion (for the client) technologies is chosen for the system implementation. The practical part of the thesis deals with the design of the system that solves the selected requirements. This is followed by a description of its implementation with selected examples. The benefit of this thesis is the exploration of multiplatform development possibilities using the Kotlin language. Another benefit is a designed application that connects parents, organizers, and camps while respecting software engineering aspects and can be built upon. In conclusion, there is an evaluation of the thesis and an outline of future directions in which the application is suitable for expansion.

Information system extension and integration with social networks

Author
Michal Hacura
Year
2014
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Personal data discovery tool extension

Author
Tomáš Chvosta
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This bachelor thesis is focused on research of the personal data under General Data Protection Regulation EU 2016/679 (GDPR) from the perspective of their general characteristics and also from the perspective of saving those informations in structuralized and unstructured data. Next part of the thesis is a suggestion and implementation of the extension of already existing Winch tool for searching and anonymising of personal data. Implementation part extends the tool in areas of active search in unstructured data, but also in structuralized ones i.e. database. Application part mostly uses Java technology, specifically Groovy language. For the user settings of the whole process of searching, a simple graphic user interface is created in C# language. The last part of the thesis is focused on testing of the functionality and performance of the implemented extension.

Data layer for a database synchronization tool

Author
Jan Effenberger
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Web application modernization of online auction system

Author
Jan Charamza
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
PhDr. Ing. Tomáš Evan, Ph.D.
Summary
This bachelor thesis deals with the process of creating a web application according to the correct principles of software engineering. The aim of the thesis was to create a full-fledged web application for running an online auction system, allowing the connection of a live hall auction with bids via an online environment. The web application was implemented as a separate frontend and backend, having tests and documentation, and then deployed to a cloud environment. Finally, steps are given on how the final implementation could be more stable with future updates.

Master theses

Stability and security of systems for smart buildings

Author
Ondřej Drkula
Year
2013
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Extension of authentication and authorization mechanisms in the SWINPRO system

Author
Jiří Špaček
Year
2013
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.

Personal data anonymization in structured documents

Author
Jakub Doležal
Year
2022
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis is focused on design and implementation of the Winch extension for exchange (so-called anonymization) of personal data. Anonymization, as such, has the advantage of removing sensitive data while keeping it in a form that is comparable to reality. This then allows, for example, testing with real-looking data, but without the danger of disclosing personal information. This extension in particular is focuses on the data contained in XML and JSON documents. The thesis first monitors how anonymization takes place in the current parts of tool anonymizing data in relational databases or in Excel spreadsheet files. Furthermore, the problem is analyzed, including both required formats and various forms of querying the data stored in them. The analysis is followed by a design of the anonymization model as the method of determining data for anonymization. Last part of the thesis is the proposal for the incorporation of new functions into the current solutions and then the implementation itself. The result is the extension of the Winch application for the file system, which allows you to set the anonymization model and then anonymize the data in both required formats.

Reimplementation of application for reusing in times of Cloud Computing and SaaS

Author
Ondřej Stuchlík
Year
2012
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Jiří Chludil

Revision of the interface architecture of tools in the SWINPRO system

Author
Vojtěch Král
Year
2013
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Pavel Loupal, Ph.D.

Application for remote control of anonymization

Author
Martin Hanzl
Year
2023
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
This thesis addresses the issue of data anonymization in relational databases and its remote management, such as from a central system. Specifically, it focuses on the existing tool GEM Winch from Gem System a.s. Currently, this tool offers an API consisting of stored procedures within the installed database. The aim of the thesis is to create an API service that exposes the existing Winch API through a web interface. The work also involves development of a web application that supports the functionalities of the mentioned service. The work includes an analysis of the current API and the domain in which the resulting service will operate. Based on this analysis, a design for the service and web application is proposed with an emphasis on security. The solution is implemented according to the design. The API service is implemented in Groovy programming language using Spring Boot framework, while the web application is developed using Vue.js JavaScript framework. Automatic integration tests are created to validate the solution. The possible future development of solution is described.

Refactoring and testing methodology of the anonymization tool

Author
Pavel Perner
Year
2022
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Reviewers
Ing. Zdeněk Rybola, Ph.D.
Summary
The master thesis focuses on the preparation and deployment of a redesigned development environment, the design of an extended testing methodology and the implementation of a new data layer ensuring the multiplatform use of the Winch anonymization tool. The analytical part of the thesis introduces the analysis of the Winch application and the definition of requirements for the resulting solution. The theoretical part then first examines different variants of creating and operating unified development environments. It then looks at the issue of software testing, its relationship with human psychology, and a description of the different categories of tests, including a brief discussion about the possibilities of automating them. Finally, it introduces the reader to various formats for persisting data of a desktop application. The result of the thesis is a new and unified development environment that will facilitate future extensions of Winch. Furthermore, it presents a proposal for a new testing methodology that includes rules and recommendations for writing test code, including an example application of the presented methodology. The end result is then a redesigned data model for anonymization that now supports multiple storage types, and given the chosen format of the added data layer, Winch can be tested and used on any operating system.

Evaluation and comparison of service oriented architecture technologies

Author
Antonín Daněk
Year
2014
Type
Master thesis
Supervisor
Ing. Jiří Mlejnek
Summary
This work addresses comparison of technologies used to build applications with service oriented architecture. Particularly it focuses on RESTful, SOAP and Thrift. It discuss the technologies in general, concrete test are implemented on Java platform. Pivotal part of the work is the results of the tests itself which gives the reader compact view of which technologies satisfies which needs the best.