Commit Graph

91 Commits

Author SHA1 Message Date
Torsten Schulz (local)
de7f95a860 fix(srs): retain scheduled cards after course updates 2026-08-31 12:48:33 +02:00
Torsten Schulz (local)
698378d6d5 fix(srs): keep directional review cards visible 2026-08-31 11:52:04 +02:00
Torsten Schulz (local)
3ca3669c03 feat(vocab): implement SRS pair fingerprinting and deduplicate course-wide SRS items 2026-08-28 09:05:06 +02:00
Torsten Schulz (local)
f9c884b3cf feat: add A2-B1 course expansion features including listening activities and conversation sessions
- Updated VocabCourseView.vue to display CEFR level for courses.
- Enhanced VocabLessonView.vue with new sections for listening activities and conversation labs, including audio controls and transcript toggling.
- Created migration to add new columns to vocab_course and new tables for conversation sessions and listening activities.
- Implemented models for vocab_conversation_session and vocab_listening_activity.
- Developed scripts to create new A2 and B1 bridge courses with structured lesson plans.
- Documented the A2-B1 expansion plan detailing course structure, learning goals, and assessment criteria.
2026-08-27 15:18:16 +02:00
Torsten Schulz (local)
d9397f741f fix(vocab): reject lexical hints paired with sentences 2026-08-27 12:25:43 +02:00
Torsten Schulz (local)
10dd383582 feat(vocab): update intensive review UI and logic for better user guidance 2026-08-26 10:16:41 +02:00
Torsten Schulz (local)
bc337c46f9 feat(vocab): add SRS schedule date formatting and update close button text 2026-08-26 09:53:30 +02:00
Torsten Schulz (local)
035fddb6ca feat(vocab): implement upcoming vocabulary review tracking and update UI accordingly 2026-08-25 12:46:19 +02:00
Torsten Schulz (local)
cc7894dfbb feat(bisaya): enhance situational response exercises with keyword hints and minimum match requirements 2026-08-25 11:56:50 +02:00
Torsten Schulz (local)
3a0945734f feat(vocab): add hard status management for SRS items and update related logic 2026-08-20 15:17:11 +02:00
Torsten Schulz (local)
aec297b701 feat(vocab): add support for answer alternatives in core patterns and update related logic 2026-08-18 15:11:43 +02:00
Torsten Schulz (local)
7db084897a Refactor code structure for improved readability and maintainability; optimize performance across multiple modules. 2026-07-21 09:08:15 +02:00
Torsten Schulz (local)
d887c5d169 bisaja fixes 2026-06-19 15:04:12 +02:00
Torsten Schulz (local)
0ecb57377e bisaya-kurs korrigiert 2026-06-17 11:23:12 +02:00
Torsten Schulz (local)
1fd111dca2 Fixed bisaya course 2026-06-15 16:17:02 +02:00
Torsten Schulz (local)
637e08298c feat: verbessere initialTotalDue und begrenze tägliche Übungsanzahl auf MAX_DAILY_DUE 2026-06-04 18:52:20 +02:00
Torsten Schulz (local)
098aeed1b5 feat: verbessere SRS-Logik zur Bestimmung des nächsten Fälligkeitsdatums für neu erstellte Elemente und erweitere die API-Anfragen für kursweite fällige Items 2026-06-04 14:09:27 +02:00
Torsten Schulz (local)
b2dd9f30c9 feat: implement neue SRS-Logik zur Berechnung von Intervallen und füge Diagnoseskript für fällige Items hinzu 2026-06-03 17:13:50 +02:00
Torsten Schulz (local)
699b932cbd feat: verbessere SRS-Logik und füge serverseitige Zählung für fällige Items hinzu 2026-06-03 16:39:12 +02:00
Torsten Schulz (local)
9b729de89c feat: erweitere Vokabeltrainer um Unterstützung für Checkpoint-Lektionen und verbessere Übungsauswahl 2026-05-27 16:53:32 +02:00
Torsten Schulz (local)
56fee848ea Refactor lesson types and update review handling
- Changed lesson type from 'review' to 'weekly_review' in multiple lesson definitions across phase 3 and phase 4 extensions.
- Updated the logic in the vocabService to accommodate 'weekly_review' in various methods, ensuring proper handling of weekly review lessons.
- Modified the VocabLessonView component to recognize 'weekly_review' as a valid lesson type for calculations and access checks.
- Enhanced the didactics update script to include 'weekly_review' in the lesson type checks.
- Adjusted the create scripts to reflect the new lesson type for weekly reviews.
2026-05-27 11:34:03 +02:00
Torsten Schulz (local)
e149ed4566 feat: normalize questionData for gap-fill exercises and add placeholders if necessary 2026-05-26 16:24:20 +02:00
Torsten Schulz (local)
5032f71654 feat: füge Unterstützung für temporäre gap_fill-Übungen aus chapterLexemeTraining hinzu 2026-05-26 16:04:36 +02:00
Torsten Schulz (local)
6dd692b3e4 feat: erweitere _extractTrainerVocabsFromExercises um Optionen zur Steuerung von Lückenfüllungen 2026-05-26 15:40:59 +02:00
Torsten Schulz (local)
d8f0bb6731 feat: erweitere VocabService um Unterstützung für Grammatikübungen aus vorherigen Lektionen 2026-05-26 15:11:01 +02:00
Torsten Schulz (local)
6ef2e31bd3 fix(vocabService): skip multi-word learning items in SRS item processing 2026-05-21 13:23:19 +02:00
Torsten Schulz (local)
7594f22d5e backend: accept parenthetical variants in answer checking (use _isEquivalentAnswer) 2026-05-21 10:51:36 +02:00
Torsten Schulz (local)
cc039edeeb feat: Erweiterung der Bisaya-Kursinhalte um neue Lektionen und Aktualisierung der Titel in den didaktischen Feldern 2026-05-19 11:04:52 +02:00
Torsten Schulz (local)
05493ead5f feat(VocabService): enhance logging and error handling in lesson assistant message flow
- Introduced detailed logging throughout the sendLessonAssistantMessage method to track request lifecycle, including start, abort conditions, and response handling.
- Improved error handling for various scenarios such as disabled assistant, unconfigured settings, empty messages, and fetch failures, providing clearer feedback to users.
- Added logging for response parsing and upstream errors to facilitate debugging and improve overall service reliability.
2026-05-07 08:58:22 +02:00
Torsten Schulz (local)
06e696f582 feat(VocabService, AppHeader): enhance timeout configuration and update ad display settings
- Updated the VocabService to allow configurable timeout for responses, defaulting to 300 seconds if not set or invalid.
- Modified AppHeader component to change ad format to horizontal and adjusted responsive settings for better display consistency.
- Ensured proper height settings for ad elements to maintain layout integrity across different screen sizes.
2026-05-06 15:50:14 +02:00
Torsten Schulz (local)
368752dc41 feat(VocabService, localization, VocabLessonView): extend assistant wait feedback and timeout duration
- Increased the timeout duration for the language assistant from 30 seconds to 120 seconds to accommodate longer processing times.
- Added new localization strings across multiple languages (Cebuano, German, English, Spanish, French) to provide user feedback during the assistant's wait period, enhancing clarity and user experience.
- Implemented a visual waiting indicator in VocabLessonView to inform users that the assistant is still processing their request, improving overall interaction quality.
2026-04-20 08:58:51 +02:00
Torsten Schulz (local)
2a8e5e8085 feat(VocabService, VocabPracticeDialog, VocabLessonView): enhance vocabulary training logic and UI feedback
- Introduced methods for improved text analysis and validation in VocabService, including `_wordCount` and `_looksLikeFragmentMismatch`, to better assess learning and reference pairs.
- Updated VocabPracticeDialog to display submitted answers and correct solutions, enhancing user feedback during practice sessions.
- Enhanced VocabLessonView to ensure only trainable vocabulary pairs are processed, improving the quality of vocabulary training.
- Added localization entries for new UI elements in both English and German, ensuring clarity in user interactions.
2026-04-20 08:48:39 +02:00
Torsten Schulz (local)
d86e3a6b66 feat(VocabService, VocabPracticeDialog): enhance text analysis and SRS validation
- Improved text analysis methods in VocabService to better identify instructional-like texts and task-related prompts, enhancing vocabulary training quality.
- Updated VocabPracticeDialog to include a new method for checking instruction-like text, ensuring more accurate filtering of trainable pairs.
- Incremented SRS session storage version to reflect changes in session management and data handling.
- Refactored normalization and validation logic to maintain consistency across vocabulary entries and improve user experience.
2026-04-20 08:30:58 +02:00
Torsten Schulz (local)
daa99a8122 feat(VocabService): improve SRS pair validation and introduce new text analysis methods
- Refactored SRS pair validation logic by introducing the `_isTrainableSrsPair` method to enhance the criteria for acceptable learning and reference pairs.
- Added `_isInstructionLikeText` method to filter out instructional texts from SRS pairs, improving the quality of vocabulary training.
- Updated various methods to utilize the new validation logic, ensuring consistent handling of vocabulary entries across the service.
- Enhanced the `_courseHasDueSrsItems` and `_extractTrainerVocabsFromLessonDidactics` methods to improve data retrieval and filtering based on the new criteria.
2026-04-20 08:21:18 +02:00
Torsten Schulz (local)
1016c376ba feat(VocabService, VocabCourseView): enhance SRS item retrieval and UI integration
- Updated VocabService to calculate total due count for spaced repetition system (SRS) items, improving data handling for user queries.
- Modified VocabCourseView to incorporate total due count in the UI, ensuring accurate display of SRS item statistics.
- Enhanced error handling and data validation for SRS due items, improving overall reliability and user experience.
2026-04-17 16:53:56 +02:00
Torsten Schulz (local)
6fa36908b2 feat(bisaya-course): refine phase 4 didactics and enhance course content generation
- Corrected grammatical errors and improved the phrasing in the BISAYA_PHASE4_DIDACTICS, ensuring clarity and accuracy in the learning materials.
- Updated the course content generation script to include lessons from phase 5, enhancing the overall structure and flow of the course.
- Introduced a new vocabulary course content synchronization process, improving the integration of vocabulary resources across different modules.
- Enhanced the VocabService to dynamically adjust temperature settings based on the mode, optimizing response generation for different contexts.
- Added new localized titles and vocabulary entries in multiple languages, enriching the learning experience for users.
2026-04-17 16:00:41 +02:00
Torsten Schulz (local)
47e7d125c3 feat(bisaya-course, vocabService): expand numerical didactics and enhance lesson progress serialization
- Added new glosses for the numbers sixty, seventy, and eighty in the Bisaya didactics, enriching the numerical curriculum.
- Updated the _serializeLessonProgress method to include an options parameter for suppressing lesson review due notifications based on SRS item status.
- Introduced a new method to check for due SRS items, improving the handling of lesson progress and review scheduling.
2026-04-17 09:30:36 +02:00
Torsten Schulz (local)
835ff1876b feat(vocab): implement SRS features and enhance vocabulary management
- Added new endpoints in vocabController for retrieving SRS due items and reviewing SRS items, improving spaced repetition support.
- Updated vocabService to handle SRS item creation and scheduling, ensuring effective tracking of vocabulary exposure.
- Enhanced vocabRouter with new routes for SRS functionalities, facilitating user interaction with spaced repetition features.
- Modified VocabPracticeDialog and VocabCourseView to integrate SRS due items, providing users with timely review opportunities.
- Updated translations and UI elements to reflect new SRS features, enhancing user experience and accessibility.
2026-04-17 09:14:30 +02:00
Torsten Schulz (local)
4502e04118 feat(vocabService, VocabPracticeDialog, VocabLessonView): enhance vocabulary handling and exposure tracking
- Updated vocabService to merge extracted vocabularies and improve handling of learning and reference pairs.
- Introduced normalization and exposure tracking in VocabPracticeDialog to ensure diverse and underexposed vocabulary practice.
- Enhanced VocabLessonView with methods to identify underexposed vocabularies and adjust selection logic for improved learning outcomes.
- Implemented new constants for minimum exposure requirements to optimize vocabulary training sessions.
2026-04-17 08:58:50 +02:00
Torsten Schulz (local)
038d7a390e feat(bisaya-course): add didactics fragments for "Haus & Familie" lessons
- Introduced comprehensive didactics snippets for the "Haus & Familie" lesson, including learning goals, core patterns, grammar focus, speaking prompts, and practical tasks.
- Updated the lesson retrieval logic to incorporate these new fragments as a fallback for core patterns, enhancing the robustness of lesson content delivery.
- Modified the vocab service to utilize the new didactics fragments, ensuring a seamless integration into the existing lesson structure.
2026-04-16 22:44:57 +02:00
Torsten Schulz (local)
1d32be9bea feat(vocabService): enhance answer validation with comparable variants
- Introduced methods to expand comparable answer variants and improve answer equivalence checks, allowing for more flexible user responses.
- Updated the answer validation logic to utilize the new methods, enhancing the accuracy of response evaluation during exercises.
2026-04-16 16:46:37 +02:00
Torsten Schulz (local)
26bc83f6c4 fix(bisaya-course): update alternatives for transformation exercise
- Modified the alternatives for a transformation exercise to include additional variations, enhancing the response options for learners.
- Updated the vocabulary service to incorporate both primary and alternative answers, improving the accuracy of answer validation during exercises.
2026-04-16 16:42:48 +02:00
Torsten Schulz (local)
6ff1f18de4 feat(vocab): implement pagination and localization for vocabulary dictionaries
- Added pagination functionality to the vocabulary dictionary views, allowing users to navigate through results efficiently.
- Introduced a new method `_parseDictionaryPaging` in `VocabService` to handle pagination parameters.
- Updated `getLanguageDictionary` and `getCourseDictionary` methods to return pagination details alongside results.
- Enhanced the `VocabDictionaryView` component with pagination controls and updated UI for better user experience.
- Added localization entries for pagination in Cebuano, German, English, Spanish, and French, ensuring a consistent user experience across languages.
2026-04-10 14:35:50 +02:00
Torsten Schulz (local)
cb2239be6f feat(vocab): add language and course dictionary endpoints and UI components
- Implemented `getLanguageDictionary` and `getCourseDictionary` methods in the VocabService to retrieve vocabulary entries filtered by search terms.
- Updated VocabController and vocabRouter to include new routes for accessing language and course dictionaries.
- Enhanced frontend components to navigate to the new dictionary views, including buttons in VocabCourseView and VocabLanguageView.
- Added localization entries for the dictionary feature in multiple languages, ensuring a consistent user experience across the platform.
2026-04-10 13:08:18 +02:00
Torsten Schulz (local)
b4e84f49e5 feat(vocab): attach language names to course data in VocabService
- Added a method to attach language names to course rows, enhancing the clarity and localization of vocabulary lessons.
- This update improves the overall user experience by ensuring accurate representation of language names in course data.
2026-04-07 11:13:38 +02:00
Torsten Schulz (local)
91d94f6c15 refactor(vocabService, VocabLessonView): unify answer language classification for multiple-choice questions
- Renamed and refactored the method for classifying answer languages in multiple-choice questions from _classifyMcQuestionSide to _resolveMcAnswerSide for clarity and consistency.
- Updated the logic to classify answer languages based on questionData.answerLanguage and answerLanguageId, improving accuracy in determining the correct language context.
- Adjusted VocabLessonView to utilize the new classification method, ensuring alignment with backend changes and enhancing the handling of distractor options based on answer language.
- Enhanced documentation to clarify the expected input and output for the new method, improving maintainability and understanding of the codebase.
2026-04-07 08:34:19 +02:00
Torsten Schulz (local)
957780be1b feat(vocab): add dashboard learning summary and related endpoints
- Introduced `getDashboardLearningSummary` method in `VocabService` to provide a compact overview of enrolled courses and current lessons for users.
- Updated `vocabController` to include a new route for the dashboard widget, allowing users to access their learning summary.
- Enhanced `vocabRouter` to route requests for the new dashboard widget endpoint.
- Added localization support for the new dashboard features across multiple languages, improving user engagement and accessibility.
- Updated UI components to integrate the new dashboard widget, ensuring a seamless user experience.
2026-04-02 15:06:50 +02:00
Torsten Schulz (local)
42fb1a1c46 feat(vocab): enhance vocabService and VocabLessonView for improved exercise handling
- Updated VocabService to include validation for synthetic exercise IDs and added methods for generating multiple-choice exercises based on chapter lexemes.
- Implemented a seeded shuffle function to randomize distractor options in multiple-choice questions, ensuring varied user experiences.
- Modified VocabLessonView to adjust target calculations for lesson goals and unlock attempts, increasing the maximum limits for better flexibility in user progress tracking.
2026-04-02 14:23:21 +02:00
Torsten Schulz (local)
f8206dff5d extended admin tool for finished lessons 2026-04-02 13:32:13 +02:00
Torsten Schulz (local)
99d5a254d9 feat(vocab): enhance lesson progress tracking and review scheduling
- Updated VocabService to include lessonId and lessonNumber in progress data, improving tracking accuracy.
- Modified getLessonProgress and lastProgressTouch methods to accept lesson parameters, enhancing flexibility in progress retrieval.
- Implemented formatReviewBadgeSchedule method to manage review scheduling notifications, providing clearer user feedback.
- Updated VocabCourseView to reflect changes in lesson progress handling, ensuring accurate display of review statuses and due dates.
- Expanded localization for review scheduling messages across multiple languages, enhancing user experience.
2026-04-02 13:27:24 +02:00