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[cite: 373]. The system includes an API enabling integration with browsers via plug-in modules[cite: 374, 375].
- Analysis
- Exploring existing systems and defining requirements[cite: 377, 378].
- Architecture
- Designing detailed architecture utilizing external services as a source for foreign words[cite: 379].
- Implementation
- Programming the core system and selecting an appropriate method for learning unknown words[cite: 381, 382].
- Practice
- Thorough testing, production deployment, and creating a web browser extension[cite: 383, 384].
Application Features and Use Cases
The application was designed with a comprehensive user experience in mind. It contains over 15 defined Use Cases[cite: 13, 14], the most important of which are:
User Management and Security
Secure registration with email verification, login, password recovery, and personal account management[cite: 14]. It utilizes secure session management and password encryption[cite: 9, 10].
Dictionary Operations
Searching for foreign words via an external API[cite: 9]. Clear display of word details, definitions, and pronunciation[cite: 9].
Personalized Lists
The ability to add or remove words to custom lists[cite: 9]. The user determines which words they want to actively test and learn[cite: 9].
Learning and Testing
Support for interactive quizzes, "Flashcards" mode, and other modules aimed at long-term vocabulary retention[cite: 9].
Browser Extension
An integrated plug-in module that allows saving unknown words directly while reading texts on the web, without leaving the page[cite: 9].
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[cite: 11]. 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)[cite: 11].
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.

