Commit Graph

57 Commits

Author SHA1 Message Date
Nurfog f4cddf7345 feat: add study rooms feature with BigBlueButton integration
- Create database migrations for study_rooms table in both cms-service and lms-service.
- Implement study room handlers in lms-service for listing, creating, joining, ending, and deleting study rooms.
- Develop frontend components for managing study rooms in both experience and studio applications.
- Add UI for creating new study rooms, displaying active and ended rooms, and joining sessions.
- Include instructions for configuring BigBlueButton server settings.

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 14:04:06 -04:00
Nurfog fef731df72 feat: add LTI 1.3 Tool Consumer support with database migrations and API endpoints
- Implemented database migrations for lti_external_tools and lti_grade_passback_events tables in both cms-service and lms-service.
- Created API handlers for managing LTI tools including listing, creating, updating, and deleting tools.
- Added functionality for LTI grade passback with validation and signature verification.
- Developed frontend components for LTI tool management and display in course editor.

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 12:51:13 -04:00
Nurfog f6a3f6aedf feat: add PluginBlock component for rendering external web components in sandboxed iframes
feat: implement PluginsPage for managing plugins with create, toggle, and delete functionalities

feat: create PedagogicalAnalyticsPage for displaying course analytics including quality metrics, discrimination index, and curricular suggestions

Co-authored-by: Copilot <copilot@github.com>
2026-04-27 12:22:05 -04:00
Nurfog 1c67d0dac2 feat: agregar historial de importación de ZIP y metadatos a los activos 2026-04-21 11:43:09 -04:00
Nurfog a3467d22d3 feat: Implement ZIP RAG import functionality with background processing
- Added support for ZIP RAG import in the asset management system.
- Introduced a new background task type for ZIP RAG imports.
- Enhanced the asset import process to allow for optional development processing.
- Updated the UI to reflect the new RAG processing status and options.
- Created database migration for background tasks related to ZIP RAG imports.
- Refactored asset handling to support FLV normalization and improved error handling.
- Added new API endpoints and updated existing ones to accommodate changes.
2026-04-17 12:51:50 -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 c21942983a feat: add organization-level certificate toggle and update tower-governor imports 2026-04-14 13:58:58 -04:00
Nurfog e0e6655b91 feat: implement course certificate generation system with organization-level toggles 2026-04-14 11:30:00 -04:00
Nurfog c750ad0423 feat: add organization exercise settings management
- Created a new SQL migration to define the organization_exercise_settings table with relevant fields and an index.
- Implemented handlers for loading and updating organization exercise settings in Rust, including default values and upsert functionality.
- Developed a React component for managing exercise feature settings, allowing toggling of features and saving updates to the backend.
2026-04-13 16:55:09 -04:00
Nurfog 024bd6e46d feat: enhance asset import functionality and unit tracking
- Added WHISPER_URL environment variable to docker-compose for audio transcription service.
- Updated Nginx configuration to increase timeout settings for API requests.
- Enhanced asset ingestion process to extract unit numbers from ZIP entry paths, supporting various naming conventions.
- Implemented logic to split intensive courses into two regular courses during asset import.
- Added new fields to the Asset and QuestionBank models to track unit numbers and source asset links.
- Introduced backward-compatible fallbacks for fetching study plans and courses from legacy MySQL database.
- Improved error handling and progress tracking during ZIP file uploads in the frontend.
- Created a new SQL migration to add unit_number and source_asset_id columns to the assets and question_bank tables, along with necessary indexes for performance.
2026-04-07 13:38:22 -04:00
Nurfog 7f9b9d69ae feat: Implement SAM structure mirroring in PostgreSQL for study plans and courses
- Added functionality to save study plans and courses in SAM format to PostgreSQL.
- Updated SQL queries to reflect SAM-native column names and handle conflicts appropriately.
- Introduced new fields in the Asset model for English level and SAM identifiers.
- Enhanced the TestTemplateForm component to manage linked assets and shared materials.
- Created a new AdminSharedMaterialsPage for uploading ZIP files of shared materials.
- Added migrations to create SAM mirror tables and update the assets table with new columns.
2026-04-06 17:04:36 -04:00
Nurfog 92b4e4a3ac feat(cms/studio): agregar plantillas de curso reutilizables
- backend: CRUD básico de course templates y endpoint para crear curso desde plantilla
- migration: tabla course_templates con datos JSON del curso base
- frontend: nueva pantalla /course-templates para guardar y aplicar plantillas
- navegación: acceso desde menú Cursos
2026-04-06 15:34:57 -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 3edc90b362 feat: Token Limit Alerts System (Phase 3)
Database:
- Create token_limit_alerts table to track alert history
- Add send_token_limit_notification() function
- Add check_token_limit_trigger() function
- Create AFTER INSERT trigger on ai_usage_logs

Features:
- Automatic notifications at 80%, 90%, and 100% thresholds
- One alert per threshold per month (no spam)
- Notification stored in notifications table
- Alert details logged in token_limit_alerts table

Notification Messages:
- 80%: Warning to monitor usage
- 90%: Strong warning to reduce IA usage
- 100%: Limit exceeded notification

Next: Add enforce automatic checks in AI handlers

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 17:08:01 -03:00
Nurfog 9e57756528 feat: Monthly token limits per user
Database:
- Add monthly_token_limit and token_limit_reset_day to users table
- Create ai_usage_monthly view for current month usage
- Add check_token_limit() function to verify available tokens
- Add get_user_usage_stats() function for historical usage

API Endpoints:
- PUT /admin/users/{user_id}/token-limit - Set monthly limit
- GET /admin/users/{user_id}/token-usage - Get user's current usage
- GET /admin/users/{user_id}/token-limit/check - Check if user has tokens

Features:
- Default limit: 100,000 tokens/month
- Reset day: 1st of month (configurable 1-28)
- Limit of 0 = unlimited tokens
- Enforce limits at API level (check before AI requests)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 16:10:27 -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 686eb377f0 feat: activate AI usage 2026-03-19 11:21:59 -03:00
Nurfog 64d3d5be91 feat: implementing embedding AI 2026-03-18 17:15:39 -03:00
Nurfog be699ad6ab feat: token count implement 2026-03-17 12:07:56 -03:00
Nurfog 41279585f6 feat: creacion de plantillas para pruebas, prototipo 2026-03-16 12:28:29 -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 c292efdc28 refactor: remove obsolete AI image and video generation traces from courses and lessons. 2026-03-09 10:52:57 -03:00
Nurfog 935e6b9675 feat: Add generation status to courses, implement cancellation, and enhance AI bridge call with retry logic. 2026-03-04 16:55:31 -03:00
Nurfog 01c54429a0 feat: Introduce course marketing features with dedicated metadata, image generation, and UI in both studio and experience apps. 2026-03-04 15:41:34 -03:00
Nurfog 4458decd22 actualizaciones 2026-03-03 17:44:24 -03:00
Nurfog 947abcb0bc feat: Implement organization-based SSO login with an AsyncCombobox and add logo variant branding options. 2026-02-26 11:50:34 -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 89b1d1353d feat: Implement full-stack course announcements management with cohort segmentation. 2026-02-17 23:11:25 -03:00
Nurfog f9e78a265a feat: Implement advanced grading (rubrics) and lesson dependencies across CMS service, API, and Studio UI. 2026-02-17 22:43:19 -03:00
Nurfog 84bbeb12c6 feat: introduce content library management for reusable content blocks with dedicated API endpoints and database schema. 2026-02-16 20:45:48 -03:00
Nurfog 2a16a18676 feat: Update monetary column data types to DOUBLE PRECISION, add IF NOT EXISTS to column additions, and introduce a timestamp trigger function. 2026-02-15 14:43:31 -03:00
Nurfog 34e72ae985 feat: Implement core monetization features including course pricing, payment preference creation, and transaction management with Mercado Pago integration. 2026-02-15 13:40:48 -03:00
Nurfog 3ae67b23c9 feat: add favicon, logo and Update the platform name (only available to the superuser) and company names 2026-01-23 09:32:36 -03:00
Nurfog 00ae5ac16b feat: Introduce external API endpoints with API key authentication and re-enable Whisper transcription and Ollama summarization. 2026-01-21 16:22:12 -03:00
Nurfog 02909ea85a feat: Implement course-level asset management and interactive media markers. 2026-01-17 13:55:04 -03:00
Nurfog b166387a48 feat: Implement user profile management, add multi-language interactive transcripts, and lay groundwork for SSO. 2026-01-17 00:26:42 -03:00
Nurfog 42976236b3 feat: Implement video play count tracking, refactor user update API, add missing CMS delete functions, and update database transaction handling. 2026-01-16 13:43:58 -03:00
Nurfog 2dffbd8b71 feat: Implement multi-tenancy with default organization, global courses, user profiles, and new UI components like OrganizationSelector and Combobox. 2026-01-16 12:15:15 -03:00
Nurfog 663950aa0e feat: Introduce multi-tenancy support with organization-specific data, add interactive transcript functionality, and enhance lesson/course schemas. 2026-01-15 18:02:04 -03:00
Nurfog 942780db1c feat: implement structured grading system with predefined assessment types
- Add structured grading policy with predefined types (Continuous Assessment, Midterm, Final Test, Exam)
- Replace free-text category input with combobox selection in Grading Policy page
- Update Lesson Editor to use dropdown selector for grading category assignment
- Fix create_grading_category handler to capture organization context
- Fix update_course handler to set audit context in database transaction
- Implement getImageUrl helper for proper asset path resolution
- Add unoptimized prop to organization logo images to bypass Next.js optimization
- Add database migrations for organization_id in content tables
- Seed default tutorial courses for Admin, Instructor, and Student roles
- Fix audit log constraints and content schema issues
2026-01-12 00:52:26 -03:00
Nurfog 3ddcaaaf15 feat: fix migrations files 2026-01-11 02:46:02 -03:00
Nurfog b1eb23926e feat: database-first refactor, unified architecture and visual developer manual
Summary of changes:
- Consolidated Studio+CMS and Experience+LMS into unified services.
- Moved core business logic (enrollment, grading, auth) to PostgreSQL functions.
- Implemented advanced auditing via DB triggers and session context.
- Added gamification (XP/Levels/Leaderboards) and logic encapsulation.
- Updated installation/diagnostic scripts for the new architecture.
- Created a comprehensive Visual Developer Manual in README.md with hardware scaling.
2026-01-11 02:34:23 -03:00
Nurfog a19da8de76 feat: add gamification features for users, including XP and leveling, with corresponding database schema and API response updates. 2026-01-04 21:40:21 -03:00
Nurfog ad56d8a81c feat: introduce CourseEditorLayout and AppHeader, add organization domain migration, and update Docker configurations and auth scripts 2025-12-29 18:00:34 -03:00
Nurfog 158aa5b315 feat: Implement organization branding, course pacing, and display upcoming deadlines in the experience portal. 2025-12-29 01:30:48 -03:00
Nurfog 1a2b9e473c feat: add organization branding support with database fields and API for logo upload and color customization. 2025-12-28 22:08:03 -03:00