Commit Graph

89 Commits

Author SHA1 Message Date
Nurfog 0d6f1c9f9c feat: implement password reset functionality and global search feature
- Added forgot password and reset password APIs in the LMS service.
- Created database migrations for password reset tokens and xAPI statements.
- Implemented global search functionality with indexing for courses, lessons, discussions, and announcements.
- Developed frontend pages for forgot password and reset password.
- Introduced SCORM player component to handle xAPI statements tracking.
2026-04-22 16:44:03 -04:00
Nurfog 77eceee2f3 feat: add progress tracking for course completion metrics
- Introduced a new module for progress tracking in the LMS service.
- Implemented `calculate_course_completion` function to compute total lessons, completed lessons, and progress percentage for a user in a specific course.
- Updated the main.rs file to include the new progress tracking module.
- Enhanced the Excel import functionality in the Question Bank to support various question types and improved error handling.
- Added a new dependency on the `xlsx` library for handling Excel files in the frontend.
- Modified the course settings page to include a branded certificate template with additional organization details.
- Updated the package.json and package-lock.json files to include the new `xlsx` dependency.
- Changed the default state for ingestRag in the Admin Shared Materials page to true.
2026-04-22 10:08:27 -04:00
Nurfog 254900746d feat: agregar configuración para almacenamiento remoto de ZIP en modo DEV y mejorar la gestión de límites de tamaño de archivos en la importación de ZIP 2026-04-17 17:05:46 -04:00
Nurfog 59a4ca5d52 feat: agregar gestión de URL de API CMS para comunicación entre LMS y CMS 2026-04-16 14:53:35 -04:00
Nurfog 387d473a7c feat: update environment configuration for local development and enhance deployment scripts 2026-04-16 10:11:19 -04:00
Nurfog 6aa0b235c3 Remove unused SQL queries and update email template handling
- Deleted multiple unused SQL query files from the cms-service.
- Refactored email template handling in the cms-service to improve clarity and maintainability.
- Updated environment variable loading in both cms-service and lms-service to use dotenvy for better configuration management.
- Added a new .env.dev file for local development with database and SMTP configurations.
- Set default value for `certificates_enabled` in the shared common models.
2026-04-15 14:26:44 -04:00
Nurfog 6f8b723d64 feat: add organization email templates management
- Created a new SQL migration to establish the organization_email_templates table with necessary fields and default templates for common events.
- Implemented CRUD operations for email templates in Rust, including listing, creating, updating, and deleting templates.
- Developed a React component for managing email templates, allowing users to create, edit, and delete templates with a user-friendly interface.
2026-04-15 10:26:44 -04:00
Nurfog e1d5975e57 feat: add email settings management
- Introduced EmailSettings component for managing SMTP services.
- Added API endpoints for organization email services including CRUD operations.
- Created database migrations for organization_email_settings and organization_email_services tables.
- Updated the settings page to include EmailSettings component.
- Implemented validation and error handling for email service operations.
2026-04-15 09:33:50 -04:00
Nurfog 44facf7f4a Refactor code structure for improved readability and maintainability 2026-04-14 16:20:02 -04:00
Nurfog caa578a280 refactor: migrate sqlx macro queries to query_as and standard query methods for improved type flexibility in certificate handlers 2026-04-14 14:09:37 -04:00
Nurfog c21942983a feat: add organization-level certificate toggle and update tower-governor imports 2026-04-14 13:58:58 -04:00
Nurfog 169a0a18a2 feat: fixing certificate and block 2026-04-14 13:07:45 -04:00
Nurfog e0e6655b91 feat: implement course certificate generation system with organization-level toggles 2026-04-14 11:30:00 -04:00
Nurfog 7f3e1ce9b1 feat(faq): implement FAQ moderation workflow with import, review, and publish functionalities 2026-04-10 15:46:04 -04:00
Nurfog 0c039ebfbc refactor: Remove unused variables and add dead code allowances for better clarity 2026-04-10 10:50:14 -04:00
Nurfog 53e5ef4d0b feat: Translate various strings and comments to Spanish for better localization
- Updated error messages and comments in main.rs, openapi.rs, portfolio.rs, predictive.rs, ai.rs, health.rs, middleware.rs, models.rs, token_limits.rs, and webhooks.rs to Spanish.
- Enhanced user experience by providing localized content for Spanish-speaking users.
2026-04-10 10:26:26 -04:00
Nurfog 7c48b3b1a9 fix(recommendations): adjust AI request timeouts to prevent proxy errors 2026-04-09 18:00:25 -04:00
Nurfog f2cae88a3b fix(learning): persist AI feedback, improve rubric typing UX, and prevent lesson action overlap 2026-04-09 12:02:53 -04:00
Nurfog 1ed5f4a511 fix(feedback): improve light-mode contrast and add resilient AI feedback fallback 2026-04-09 10:43:08 -04:00
Nurfog 2aa927ab16 fix(lms-profile): avoid 500 on public profile endpoint 2026-04-09 09:36:28 -04:00
Nurfog c07ca05572 feat(users): add delete user functionality and confirmation modal
feat(assets): implement S3 proxy for private asset access
2026-04-09 09:36:28 -04:00
Nurfog 255033040b feat: Actualizar .dockerignore para incluir secretos de TLS/ACME y modificar el Dockerfile para usar la imagen de Rust 1-bookworm 2026-04-06 10:08:00 -04:00
Nurfog 516a903497 Refactor audio handling and S3 integration in LMS service
- Removed company-specific template rules from template application logic.
- Enhanced question generation queries to support both 'imported-mysql' and 'imported-material' sources.
- Introduced S3 audio storage functionality, including client setup and audio key generation.
- Updated audio response evaluation to store audio files in S3 or fallback to DB.
- Added new API routes for asset ingestion and ZIP import in CMS service.
- Implemented role-based access control for audio responses in LMS service.
- Created a smoke test script for validating audio roles and permissions.
- Updated frontend to support course selection in audio evaluations.
2026-04-06 09:11:56 -04:00
Nurfog 8b792e1d44 feat: Añadir columna organization_id a course_instructors y actualizar migraciones para alinear con el modelo compartido 2026-03-31 13:40:37 -03:00
Nurfog e4866c6dee feat: SAM integration, deployment scripts, and audio response enhancements
- Add SAM (Sistema de Administración Académica) integration with sync endpoints
- Add deployment automation (deploy.sh, remote-setup.sh, setup-nginx-ssl.sh)
- Add nginx proxy configuration for SSL with Let's Encrypt
- Add audio response support for student lessons (migrations, handlers)
- Add audio evaluations admin page
- Update CORS to support wildcard subdomains for norteamericano.cl
- Add comprehensive deployment documentation (DESPLIEGUE.md, ManualDeConfiguracion.md)
- Update docker-compose.yml with nginx-proxy and acme-companion services
- Remove outdated documentation files

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-27 09:20:23 -03:00
Nurfog 6ef2860b26 feat: Enforce Automatic Token Limits in AI Handlers
CMS Service:
- generate_quiz: Check 2000 tokens limit
- generate_course: Check 5000 tokens limit
- generate_hotspots: Check 2000 tokens limit
- generate_role_play: Check 2500 tokens limit
- summarize_lesson: Check 1500 tokens limit

LMS Service:
- chat_with_tutor: Check 1000 tokens limit
- evaluate_audio_response: Check 1500 tokens limit

Behavior:
- Returns HTTP 429 Too Many Requests when limit exceeded
- Error message indicates monthly limit exceeded
- Users must contact admin for limit increase
- Works with automatic alert system (Phase 3)

Total Functions Protected: 7

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 17:18:04 -03:00
Nurfog 2ff06ee7ae feat: i18n full support, responsive UI, multi-model AI config, and bug fixes
Major Features:
- Internationalization (i18n) with auto-detection for ES/EN/PT
- Mobile-first responsive design for Studio and Experience
- Multi-model AI configuration (llama3.2:3b, qwen3.5:9b, gpt-oss:latest)
- Course language configuration (auto-detect or fixed per course)

Backend Changes:
- shared/common: ModelType enum for intelligent model selection
- LMS: log_ai_usage function migration (fix chat tutor 500 error)
- LMS/CMS: course language config fields (language_setting, fixed_language)
- LMS: /courses/{id}/language-config endpoint for language detection

Frontend Changes:
- Experience: Enhanced i18n with browser language detection
- Experience: Audio recording with HTTPS check and error handling
- Studio: Memory game with unique pair IDs and debug logging
- Studio: Expanded translations (250+ keys for ES, EN, PT)
- Both: Language selector in headers (mobile responsive)

Documentation:
- AI_MODELS_CONFIG.md: Multi-model configuration guide
- RESPONSIVIDAD_GUIA.md: Mobile-first design patterns
- I18N_RESPONSIVIDAD_IMPLEMENTACION.md: Implementation details
- DEBUG_AUDIO_RECORDING.md: Audio troubleshooting guide
- DEBUG_MEMORY_GAME.md: Memory game debugging steps

Bug Fixes:
- Fix chat tutor 500 error (missing log_ai_usage function)
- Fix audio recording (HTTPS check, browser compatibility)
- Fix memory game pair IDs (unique ID generation)
- Fix HotspotBlock TypeScript errors

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 12:24:22 -03:00
Nurfog 0598fc4865 feat: Fix tokens Revenue stream 2026-03-19 14:54:31 -03:00
Nurfog 64d3d5be91 feat: implementing embedding AI 2026-03-18 17:15:39 -03:00
Nurfog f9f1238310 feat: Implement health checks, rate limiting, and security headers for services, update Node.js versions, and add Prettier configuration for frontend. 2026-03-12 17:09:05 -03:00
Nurfog bde5be22e7 feat: Introduce AI code hinting, enforce single-tenant organization model, and add a Code Lab block component. 2026-03-09 17:24:15 -03:00
Nurfog b9c17ce67b feat: Add Mermaid diagram block with AI generation capabilities to lessons. 2026-03-09 14:45:52 -03:00
Nurfog bc5b240984 feat: Implement AI-generated Role Playing and Hotspot interactive content blocks with UI and service integration. 2026-03-09 13:46:47 -03:00
Nurfog 7406de9a1b Remove AI image generation functionality from CMS and expand Docker ignore rules. 2026-03-09 10:06:26 -03:00
Nurfog bf3f06d831 feat: Update lesson query to filter by course through modules and implement Default for the Lesson struct. 2026-03-06 13:05:41 -03:00
Nurfog 997af5d473 feat: introduce global AI task dashboard, enhance user profiles with new fields, and update database models with default implementations. 2026-03-06 12:37:39 -03:00
Nurfog ff474df40d feat: Simplify grade handling by removing score scaling logic and updating the API to accept scores directly in a 0-100 range. 2026-02-27 13:25:58 -03:00
Nurfog bbef932776 feat: Implement external MySQL integration for LMS enrollments and grade synchronization, including external_id and tipo_nota support. 2026-02-27 09:20:35 -03:00
Nurfog 824da230a4 refactor: Remove lti_deployment_id and state from LTI structs and simplify lesson dependency query. 2026-02-25 17:24:08 -03:00
Nurfog f36c53aed1 refactor: migrate sqlx queries from macros to the .bind() method 2026-02-25 16:23:37 -03:00
Nurfog 5b3fc800c7 a11y: Enhance accessibility of form and interactive components using semantic HTML, ARIA attributes, and keyboard navigation. 2026-02-25 16:17:40 -03:00
Nurfog 44b2160590 feat: Implement peer review management, student, and session pages for courses. 2026-02-25 14:06:28 -03:00
Nurfog c76125c96a feat: enhance LMS retention data with completion rates, improve LTI key handling, and refine dev setup scripts 2026-02-24 12:43:58 -03:00
Nurfog 06c0290813 feat: Implement LTI development key generation, add a database migration for enrollment and retention, and include course completion rate in models. 2026-02-24 12:43:35 -03:00
Nurfog 34a1f1c77d feat: Implement environment-aware AI service URL configuration, update web build settings, refine Docker Compose networking, and improve the installation script. 2026-02-24 10:59:09 -03:00
Nurfog 04dbe05704 feat: Implement LTI deep linking, live sessions, predictive analytics, and portfolios with associated UI and database migrations. 2026-02-24 09:37:16 -03:00
Nurfog 7f7ea3d70c feat: Add LTI launch, lesson preview, course progress, bookmarks, and asset management features. 2026-02-23 15:43:45 -03:00
Nurfog f365e585a2 feat: Implement course team management with dedicated UI and API, add course preview token generation, and refactor course settings UI. 2026-02-18 00:01:47 -03:00
Nurfog 89b1d1353d feat: Implement full-stack course announcements management with cohort segmentation. 2026-02-17 23:11:25 -03:00
Nurfog fa52397330 feat: implement server-side detailed course grade export to CSV, replacing client-side generation and adding a new API endpoint. 2026-02-17 22:53:56 -03:00