Commit Graph

66 Commits

Author SHA1 Message Date
Nurfog 1c67d0dac2 feat: agregar historial de importación de ZIP y metadatos a los activos 2026-04-21 11:43:09 -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 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 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 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 f2f9cef0e7 Refactor code structure for improved readability and maintainability 2026-04-09 16:27:31 -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 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 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 0bea4173f5 Refactor code structure for improved readability and maintainability 2026-03-31 14:39:04 -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 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 d5679c05e8 fix: CORS headers for video/audio assets streaming
- Added HEAD method to CORS allowed methods
- Added Range header support for video streaming
- Exposed Content-Range and Accept-Ranges headers
- Required for proper video playback from Experience (port 3003) to CMS (port 3001)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-23 13:07:37 -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 a220e9742f feat:fix data importation 2026-03-19 09:33:33 -03:00
Nurfog 64d3d5be91 feat: implementing embedding AI 2026-03-18 17:15:39 -03:00
Nurfog 55f9a3196e feat: fix AI for generation questions with RAG 2026-03-17 17:44:42 -03:00
Nurfog 31939e31ad feat: fix frontend and activate imports 2026-03-17 13:53:12 -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 3167723a89 feat: Update default admin credentials and organization branding, refactor admin creation in install script to direct database insertion, disable rate limiting, and update documentation. 2026-03-13 13:24:06 -03:00
Nurfog c49a49dc19 feat: Add comprehensive project context documentation and refactor CMS service to include HTTP tracing and streamline CORS configuration. 2026-03-13 12:43:32 -03:00
Nurfog 15ecc4e3b2 feat: Update database port to 5433, refine database creation and migration scripts, and add explicit CORS OPTIONS handling to CMS service routes. 2026-03-13 10:46:54 -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 2fe6dcea59 feat: Implement default branding synchronization and improve API header handling. 2026-03-09 17:55:10 -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 c034f7223d feat: Unify background task representation and display by introducing generic status, progress, and task type fields across frontend and backend. 2026-03-05 16:58:23 -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 81e1830563 feat: Implement dark mode styling across UI components and update README with roadmap and system requirements. 2026-03-02 11:29:55 -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 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 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 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 60e2af72f0 feat: ad interface to upload logo and favicon 2026-01-23 11:43:17 -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 957539d201 feat: se aplican varios fix a las pruebas 2026-01-22 13:24:48 -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 46b6253f22 feat: Introduce asset picker modal and audio response blocks, refactor CMS asset API routes, and update dependencies. 2026-01-18 01:02:01 -03:00
Nurfog 02909ea85a feat: Implement course-level asset management and interactive media markers. 2026-01-17 13:55:04 -03:00