Bachelor Thesis

Michal Maslík - Bachelor Thesis
1
Assignment and Objectives
2
Application Features and Use Cases
3
Technologies Used
4
Conclusion and Self-Reflection
April 15, 2025

Assignment and Objectives

Core Idea
The goal of the thesis was to create an application serving as a multilingual dictionary, allowing the creation of personalized lists of searched words to effectively expand vocabulary. The system includes an API enabling integration with browsers via plug-in modules.
Core pillars of the project:
Analysis
Exploring existing systems and defining requirements.
Architecture
Designing detailed architecture utilizing external services as a source for foreign words.
Implementation
Programming the core system and selecting an appropriate method for learning unknown words.
Practice
Thorough testing, production deployment, and creating a web browser extension.
Michal Maslík Bachelor Thesis

Application Features and Use Cases

The application was designed with a comprehensive user experience in mind. It contains over 15 defined Use Cases, the most important of which are:
User Management and Security
Secure registration with email verification, login, password recovery, and personal account management. It utilizes secure session management and password encryption.
Dictionary Operations
Searching for foreign words via an external API. Clear display of word details, definitions, and pronunciation.
Personalized Lists
The ability to add or remove words to custom lists. The user determines which words they want to actively test and learn.
Learning and Testing
Support for interactive quizzes, "Flashcards" mode, and other modules aimed at long-term vocabulary retention.
Browser Extension
An integrated plug-in module that allows saving unknown words directly while reading texts on the web, without leaving the page.

Technologies Used

To achieve stability and a modern user interface, the following technological stack was chosen:
BackendJava, Spring Boot
FrontendReact, JS, Material UI
DatabaseH2 Database
SecuritySpring Security, JWT, BCrypt
ArchitectureREST API, JPA
Web ExtensionManifest v3, DOM parsing

Conclusion and Self-Reflection

This thesis wasn't just about writing code. It combined theoretical knowledge from language education with software development. The result is a functional, tangible product with real value and room for further expansion (e.g., a mobile app and support for less common languages).
Personal Contribution
The process of creating this thesis tested my discipline and analytical thinking. I managed to turn an idea into a stable system that helps people develop their skills, directly reflecting my focus on meaningful and real results.
Links and Resources: Full Bachelor Thesis (PDF) Application Use Cases (PDF) Project GitHub Repository