#86erqa08y Implement Leitner Box Review System with Scheduling Enhancements and UI Improvements#27
Conversation
…ance responsiveness, and update styles for better user interaction. Add localization for 'Save Changes' button and implement change detection for user input.
…testing and Playwright for E2E testing. Update package.json with new test scripts, create configuration files, and establish a testing guide in README. Include test stubs and mock implementations for Vue components and composables.
…ent outlining project overview, key technologies, coding standards, and critical rules for frontend development in the Nuxt 3 application.
… responsiveness, enhance styles for better user interaction, and implement change detection for user input. Add localization for 'Save Changes' button.
…re testing patterns, mocking strategies, test organization structure, and best practices for unit and integration testing using Jest and TypeScript. Include examples for API function testing and external service mocking.
….config.js for TypeScript testing, update package.json with test scripts, and create a test environment file. Replace old calculator tests with new structured tests using Jest for improved maintainability and clarity.
…es-as-development-guideline_Navid-Shad Add comprehensive testing setup
…plementation, detailing backend architecture, logic, and frontend components.
Server: - Implement LeitnerService for managing spaced repetition logic (box movement, scheduling). - Add database schemas for `leitner_system` and `review_bundle`. - Add API functions: `get-review-bundle`, `submit-review-result`, `get-stats`, `update-settings`. - Implement `generate-daily-bundles` for daily review generation. - Service: Initialize user Leitner system on login (Auth Router). - Data: Centralize database and collection configuration in [config.ts](cci:7://file:///Users/navid-shad/Projects/CodeBridger/learn-by-subtitle/dashboard-app/server/src/config.ts:0:0-0:0). - Schedule: Integrate `node-schedule` for managing background jobs. Frontend: - Feature: Add 'Review' page to sidebar with Leitner box stats and Recent AI Lectures. - Feature: Add 'Preferences' page for Leitner settings (Daily Limit, Total Boxes). - Update: Enhance Flashcards component to support 'Leitner' mode with Known/Unknown feedback. - Config: Add localization keys for Review dashboard.
…in server/scripts
…ll, integrating lib-vue-components docs, and updating doc download paths with conditional markdown conversion.
… to dataProvider.list
…resh until modal closure
…when box filtering
…ce, covering review scheduling, demotion, and quota enforcement.
…ctive` for Leitner box reviews and add `BoardService` tests.
Refined the Leitner box notification system with the following: - Added a professional HourSelector.vue component for intuitive session time selection. - Enforced a default 1-day review interval and 9AM session hour across backend and frontend. - Implemented proactive job syncing in LeitnerService (with in-memory cache) to ensure existing users are correctly scheduled. - Added detailed unit tests in notification.test.ts with human-readable explanations to verify registration and conditional dashboard toasting. - Optimized logging in ScheduleService to reduce console noise.
Accomplishments: - Refactored icon rendering to use native @codebridger/lib-vue-components Icons (IconCalendar, IconBolt, etc.) and supported iconify syntax for Solar icons. - Improved vertical alignment of icons and labels using items-center and leading-none. - Refined Box title badges (Entrance/Mature) to be smaller and more professional. - Fixed vertical progression line gaps in the Box timeline. - Refactored Buttons to use #icon slots for guaranteed icon visibility and alignment.
- Redesigned board page with a professional 'Mission Control' theme. - Improved card aesthetics with glassmorphism, gradients, and smoothed geometry. - Fixed rendering bug caused by animation class conflicts. - Enhanced reliability with better error handling and safety checks.
…dability by breaking long lines.
…eitner-Box-Review-System_Navid-Shad #86erqa08y Implement Comprehensive Leitner Box Spaced Repetition System with UI Enhancements and Board Activity Tracking
…ed jobs and pass execution times to job callbacks.
…up regardless of its explicit catchUp flag.
…ue by the end of the current day, add corresponding tests, and remove the `initLeitner` function.
…anagement and update Leitner Box collection names in tests.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 Summary
This PR introduces a comprehensive Leitner Box spaced repetition system, including board activities, user preferences, and configurable review intervals. It implements a schedule service supporting catch-up mechanisms for recurrent jobs and improves due date logic for Leitner Box items. Several UI enhancements and fixes are applied to the board and settings pages, including improved aesthetics, layout, and toggle components. Node.js version is updated to v22.17.1. Additionally, testing infrastructure is enhanced with Jest and Vitest setups, along with detailed developer guidelines and documentation improvements.
🔗 Related Tasks
📝 Additional Details
📜 Commit List
statusfield from schedule job management and update Leitner Box collection names in tests.initLeitnerfunction..nvmrcmeta.isActivefor Leitner box reviews and addBoardServicetests.