143 lines
5.8 KiB
Markdown
143 lines
5.8 KiB
Markdown
# 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](#-arquitectura-consolidada)
|
|
- [✨ Funcionalidades Destacadas](#-funcionalidades-destacadas)
|
|
- [🛠 Stack Tecnológico](#-stack-tecnológico)
|
|
- [ requisitos-del-sistema](#requisitos-del-sistema)
|
|
- [📦 Guía de Inicio Rápido](#-guía-de-inicio-rápido)
|
|
- [📊 Estado de Funcionalidades](#-estado-de-funcionalidades)
|
|
- [🔌 Recursos para Desarrolladores](#-recursos-para-desarrolladores)
|
|
- [📈 Roadmap](#-roadmap)
|
|
|
|
---
|
|
|
|
## 🚀 Arquitectura Consolidada
|
|
|
|
El proyecto optimiza la complejidad de infraestructura consolidando servicios de backend en Rust con frontends modernos en Next.js:
|
|
|
|
1. **Studio + CMS (Puertos 3000/3001)**: Next.js app para administración y API de Rust para gestión de contenido.
|
|
2. **Experience + LMS (Puertos 3003/3002)**: Next.js app para estudiantes y API de Rust para entrega y calificaciones.
|
|
3. **Database**: PostgreSQL 16 compartido con soporte para **PGVector**.
|
|
4. **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](https://www.rust-lang.org/) (axum, sqlx).
|
|
- **Frontend**: [Next.js 14+](https://nextjs.org/) (App Router), [Tailwind CSS](https://tailwindcss.com/).
|
|
- **Base de Datos**: [PostgreSQL 16](https://www.postgresql.org/) + [pgvector](https://github.com/pgvector/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)
|
|
```bash
|
|
docker-compose up --build
|
|
```
|
|
- **Studio**: http://localhost:3000
|
|
- **Experience**: http://localhost:3003
|
|
|
|
### Comandos de Utilidad
|
|
```bash
|
|
# 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:
|
|
|
|
- 📘 [Referencia de la API](docs/API.md)
|
|
- ⚙️ [Manual de Configuración](ManualDeConfiguracion.md)
|
|
- 🏗️ [Guía de Despliegue](DESPLIEGUE.md)
|
|
|
|
---
|
|
|
|
## 📊 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](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. |