- Added PWA icons for 192x192 and 512x512 resolutions. - Implemented service worker (sw.js) for caching static assets and handling fetch requests. - Created ConnectivityBanner component to notify users of online/offline status. - Developed OfflineSyncPanel component to manage and display offline sync status. - Introduced PwaInstallPrompt component to prompt users for PWA installation. - Added PwaRegistration component to handle service worker registration and online event handling. - Created AdminAiAuditPage for AI audit logs with filtering and review functionality. - Developed AdminDataEthicsPage to display AI data ethics summary and recent events.
OpenCCB: Open Comprehensive Course Backbone
OpenCCB es una infraestructura de código abierto para plataformas de gestión de aprendizaje y contenido (LMS/CMS), construida con rendimiento, seguridad y escalabilidad en mente.
📖 Tabla de Contenidos
- 🚀 Arquitectura Consolidada
- ✨ Funcionalidades Destacadas
- 🛠 Stack Tecnológico
- requisitos-del-sistema
- 📦 Guía de Inicio Rápido
- 📊 Estado de Funcionalidades
- 🔌 Recursos para Desarrolladores
- 📈 Roadmap
🚀 Arquitectura Consolidada
El proyecto optimiza la complejidad de infraestructura consolidando servicios de backend en Rust con frontends modernos en Next.js:
- Studio + CMS (Puertos 3000/3001): Next.js app para administración y API de Rust para gestión de contenido.
- Experience + LMS (Puertos 3003/3002): Next.js app para estudiantes y API de Rust para entrega y calificaciones.
- Database: PostgreSQL 16 compartido con soporte para PGVector.
- AI Services: Stack local con Faster-Whisper (Transcripción) y Ollama (Inferencia LLM).
✨ Funcionalidades Destacadas
🧠 Inteligencia Artificial Avanzada
- AI Course Wizard: Generación instantánea de currículos completos a partir de un prompt.
- AI Teaching Assistant (RAG): Tutor inteligente con memoria histórica y contexto de la lección actual.
- Evaluación por Audio: Análisis de pronunciación y feedback en lenguaje natural usando IA.
- Diagramas Dinámicos: Generación automática de diagramas Mermaid (mapas mentales, flujos) desde el contenido.
- Analíticas Predictivas: Motor que detecta riesgos de abandono escolar antes de que ocurran.
🎓 Gestión Académica Premium
- Library of Content: Repositorio centralizado de bloques y lecciones reutilizables.
- Advanced Gradebook: Libro de calificaciones con rúbricas detalladas y filtrado por cohortes.
- Learning Sequences: Gestión de prerrequisitos y rutas de aprendizaje condicionales.
- LTI 1.3 Provider: Interoperabilidad completa con Canvas, Moodle y otros LMS estándar.
🎮 Experiencia de Aprendizaje
- Gamificación Integrada: Sistema de XP, niveles, Badges (Open Badges) y juegos interactivos (Memoria, Hotspots).
- Engagement Heatmaps: Visualización para instructores de la retención segundo a segundo en videos.
- Student Portfolio: Perfiles públicos profesionales que muestran logros y progreso verificado.
- Anotaciones Inteligentes: Sistema de notas personales con auto-guardado por lección.
📱 Conectividad y Acceso
- Dynamic LAN Access: Resolución automática de IP para acceder desde cualquier dispositivo en la red WiFi.
- Responsive UI/UX: Interfaces optimizadas con diseño Glassmorphism y navegación móvil fluida.
- White-Label Branding: Personalización completa de marca, colores, logos y favicons por organización.
🛠 Stack Tecnológico
- Backend: Rust (axum, sqlx).
- Frontend: Next.js 14+ (App Router), Tailwind CSS.
- Base de Datos: PostgreSQL 16 + pgvector.
- IA In-house: Faster-Whisper, Ollama (Llama 3.2, Nomic-Embed).
💻 Requisitos del Sistema
| Componente | Pequeño (100 u.) | Mediano (500 u. concurrentes) | Grande (1000+ u.) |
|---|---|---|---|
| CPU | 4 vCPUs | 8-12 vCPUs (AVX2+) | 16-32+ vCPUs |
| RAM | 8 GB | 16-32 GB | 64 GB+ |
| GPU (IA) | Opcional | NVIDIA RTX 3060+ (12GB) | Multi-GPU (A100/H100) |
Note
Los requisitos de GPU son específicos para la autogestión de IA local. Si se utilizan APIs externas, estos requisitos disminuyen drásticamente.
📦 Guía de Inicio Rápido
Requisitos Previos
- Docker & Docker Compose
- Node.js 18+ & Rust (para desarrollo local)
Ejecución con Docker (Recomendado)
docker-compose up --build
- Studio: http://localhost:3000
- Experience: http://localhost:3003
Comandos de Utilidad
# Instalación y configuración automática
./install.sh
# Instalación local usando IA en red LAN (ejemplo)
LOCAL_OLLAMA_URL=http://192.168.0.5:11434 LOCAL_WHISPER_URL=http://192.168.0.5:9000 ./install.sh
# Instalación local con URLs SAM compartidas explícitas
SAM_SHARED_URL=mysql://user:pass@host:3306/sige_sam_v3 SAM_DIAG_SHARED_URL=mysql://user:pass@host:3306/SAM_diagnostico ./install.sh
# Resetear base de datos de desarrollo
./scripts/reset_db.sh
🔌 Recursos para Desarrolladores
Para una guía detallada sobre cómo integrar o extender OpenCCB, consulta la documentación técnica:
📊 Estado de Funcionalidades
✅ Implementado
- CRUD de Cursos e IA Generation.
- 16+ tipos de bloques interactivos.
- Sistema de foros, anuncios y gamificación.
- Soporte LTI 1.3 y SSO (OIDC).
- Monetización con Mercado Pago.
⚠️ En Desarrollo
- Generación de Certificados: Implementando lógica de PDF automático.
- Progreso Real: Refactorizando visualización en catálogo.
- Email/SMTP: Integración de notificaciones transaccionales.
📈 Roadmap
OpenCCB evoluciona constantemente. Consulta el roadmap.md para ver el plan detallado de las Fases 22 a 36, incluyendo IA de Moderación y Ecosistemas de Plugins.
📄 Licencia
Este proyecto es código abierto y está disponible bajo los términos de la licencia especificada en el repositorio.