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.
- 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.
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.

