Control Panel
System Terminal

ARTIST

TRACK TITLE

00:00
00:00
BITRATE: 320KBPSMODE: STEREO_REACTIVE
BITRATE: 320KBPSMODE: STEREO_REACTIVE
Core Status
TELEMETRÍA_NÚCLEO
NODE_ALPHA_v4
ProcesadorINITIALIZING...
AlmacenamientoNVME_GEN4_R6500_W5000
Asignación_Memoria0.0%
Intensidad_Cómputo0.0%
SINC_NEURAL: ACTIVOLatencia: 0.000ms
Tiempo_Actividad: 00:00:00:00
Escalabilidad
Seguridad
Rendimiento
Lang
Locales
Theme
Tech Theme
Plataforma Educativa con Inteligencia Artificial - CEAR LATINOAMERICANO
VOLVER_ARCHIVOS
En Producción 2024 - 2026

Plataforma Educativa con Inteligencia Artificial - CEAR LATINOAMERICANO

Plataforma educativa integral tipo Campus Virtual diseñada para optimizar la experiencia de aprendizaje.

slug.impact_summary

Optimización del aprendizaje mediante IA y alta escalabilidad con Docker SWARM.

CAMPUS-AI — Enterprise Educational Streaming Platform (Express + Preact + PostgreSQL)

Este proyecto no es un simple campus virtual; es una reingeniería completa de la experiencia educativa, diseñada para operar a escala institucional. Implementa los mismos principios arquitectónicos que permiten a plataformas como Coursera y Platzi gestionar miles de estudiantes simultáneamente: arquitectura monolítica optimizada, comunicación en tiempo real, procesamiento de pagos y personalización algorítmica con modelos de lenguaje (LLM).


🏗️ Backend Enterprise (Express + @vigilio/express-core)

Para manejar la complejidad de un catálogo educativo distribuido, perfiles multi-rol y evaluaciones en tiempo real, el backend se estructura como un ecosistema de servicios modulares utilizando Express 4 con el framework propietario @vigilio/express-core:

  • Arquitectura Inspirada en NestJS: Un sistema de decoradores TypeScript (@Controller, @Get, @Post, @Validator, @Pipe, @Injectable) que transforma Express en un framework enterprise con inyección de dependencias, middlewares declarativos y guards de autorización.
  • 20 Módulos de Dominio: Cada módulo es una unidad autónoma (schemas → entities → DTOs → controllers → services → APIs) que encapsula una responsabilidad de negocio: desde la gestión de cursos hasta la facturación electrónica con Niubiz.
  • Code-First Schema Approach: Definición de esquemas con @vigilio/valibot que sirven como Single Source of Truth — el mismo schema valida el body en el frontend (react-hook-form), en el controlador (@Validator) y define la estructura del modelo (Sequelize entity).
  • WebSocket Gateway (Socket.IO): Servidor de comunicación bidireccional en tiempo real para chat, notificaciones push y sincronización de estado entre clientes conectados simultáneamente.

🏗️ Ingeniería de Datos & Persistencia (PostgreSQL + Sequelize ORM)

La plataforma está diseñada para la integridad referencial y el rendimiento en consultas complejas utilizando una base de datos relacional robusta:

  • ORM Tipado (Sequelize-TypeScript): Modelos definidos con decoradores TypeScript que garantizan type-safety end-to-end. Las 11 entidades del módulo curso se relacionan a través de @BelongsTo, @HasMany, @BelongsToMany y @HasOne, formando un grafo relacional de más de 40 tablas.
  • Migraciones Versionadas: 56 archivos de migración secuenciales que permiten recrear, versionar y revertir el estado completo de la base de datos con un solo comando (npm run db:migrate:fresh).
  • Soft Delete Empresarial: Todas las entidades críticas implementan paranoid: true, garantizando que los registros eliminados sean recuperables y auditables sin pérdida de datos.
  • Índices Compuestos Únicos: Constraints como unique_name_siglas_campaña_id previenen duplicados a nivel de base de datos, no solo de aplicación.

🔐 Seguridad & Autenticación de Grado Enterprise

Un sistema de seguridad multicapa que protege tanto la API como las sesiones de usuario:

  • Passport.js Dual Strategy: Autenticación local (usuario + contraseña con bcrypt) y JWT para protección stateless de endpoints, operando en paralelo con sesiones persistentes en PostgreSQL (connect-session-sequelize).
  • Helmet CSP (Content Security Policy): Políticas de seguridad HTTP configuradas por directiva — scriptSrc, connectSrc, frameSrc, imgSrc — que previenen XSS, clickjacking e inyección de contenido.
  • Sistema Anti-Brute Force: Campo intentos_session con bloqueo temporal por intentos_session_date, protegiendo contra ataques de fuerza bruta con estados progresivos (activobloqueadobloqueo-definitivo).
  • HMAC Integrity Verification: Verificación criptográfica de integridad de datos sensibles con VITE_HMAC_KEY.
  • Google reCAPTCHA v3: Integración en formularios críticos para distinguir tráfico humano de bots automatizados.
  • Cookies Seguras en Producción: secure: true, httpOnly: true, trust proxy habilitado, con expiración de sesión a 3 días y limpieza automática cada hora.

👥 Sistema de Roles & Control de Acceso Granular

Una jerarquía de 5 niveles que gobierna el acceso a cada endpoint y vista de la plataforma:

Rol Alcance Acceso
🔴 super-admin Global Control total: usuarios, empresa, facturación, configuración del sistema
🟠 administracion Institucional Gestión de empresa, usuarios, órdenes, facturas y notas
🟡 academico Académico CRUD de cursos, secciones, campañas, programas y multimedia
🟢 docente Enseñanza Clases, asistencia, actividades, evaluaciones y calificaciones
🔵 estudiante Aprendizaje Mis cursos, actividades, chat, pagos y perfil

Los Guards actúan como middleware decorativos que interceptan la request antes de llegar al controller, validando el role del usuario autenticado contra los permisos requeridos del endpoint.


🚀 Stack de Rendimiento Extremo

Capa Tecnología Rol
Server Framework Express 4 + @vigilio/express-core API REST con decoradores NestJS-like
Frontend Runtime Preact + @preact/signals UI reactiva ~3KB (vs React 42KB)
Router SPA wouter-preact Routing declarativo sin overhead
Data Fetching @vigilio/preact-fetching React Query alternative con cache
Formularios react-hook-form + @vigilio/valibot Validación isomórfica (client + server)
Base de Datos PostgreSQL 16 + Sequelize-TypeScript ORM tipado con migraciones
Real-Time Socket.IO WebSocket bidireccional
Styling TailwindCSS 4 Utility-first con Vite plugin
Bundler Vite 7 + HMR Build < 2s, Hot Module Replacement
Testing Vitest Test runner integrado con Vite
IA Groq SDK + OpenAI LLM de baja latencia
Pagos Niubiz Gateway Pasarela de pago Perú
PDF wkhtmltopdf Generación de documentos
Push web-push (VAPID) Notificaciones nativas del navegador
Email Nodemailer Transaccional + marketing

💎 Características Técnicas a Detalle

1. Motor de Gestión Académica (Módulo Curso)

El núcleo funcional de la plataforma — un sistema completo de gestión de contenido educativo.

  • Modelo Relacional Profundo: Un Curso se compone de SeccionesProgramasProgramaItemsProgramaSubItems, permitiendo estructurar contenido con hasta 4 niveles de profundidad jerárquica.
  • Multi-Campaña: Cada curso pertenece a una Campaña (período académico), permitiendo reutilizar la estructura curricular entre ciclos sin duplicar datos.
  • Multimedia Asociada: Entidad dedicada CursoMultimedia para gestionar videos de presentación, imágenes de portada y recursos descargables de cada curso, con procesamiento de imágenes via Sharp.
  • Inscripción Relacional (N:M): Tabla intermedia CursoUser que registra la relación entre estudiantes y cursos, con metadatos de inscripción (fecha, estado, progreso).
  • Slug SEO-Friendly: Cada curso genera automáticamente un slug único para URLs limpias (/curso/inteligencia-artificial-2025).

2. Sistema de Evaluación y Calificación

Una plataforma completa de assessment educativo.

  • Tipos de Actividad Configurables: ActividadType permite definir categorías (examen, tarea, práctica, proyecto) con ActividadTypeCurso para asignar tipos específicos por curso.
  • Motor de Preguntas: Cada Actividad contiene múltiples Preguntas, y cada pregunta tiene múltiples Opciones — soportando exámenes de opción múltiple, verdadero/falso y respuesta abierta.
  • Calificación por Estudiante: ActividadUser registra la relación estudiante-actividad con notas, fechas de entrega y estado, mientras RespuestaUser almacena cada respuesta individual para análisis posterior.
  • Cronómetro Integrado: Hook useCronometro para exámenes con tiempo límite, con detección de inactividad (useInactiviy) para prevenir abandono.

3. Chat en Tiempo Real (Socket.IO)

Comunicación instantánea entre todos los actores de la plataforma.

  • Arquitectura de Salas: Cada Chat actúa como una sala Socket.IO con ChatMembers (participantes permanentes) y ChatUsers (participantes por invitación).
  • Confirmación de Lectura: Entidad MessageSeen que registra cuándo cada participante leyó cada mensaje, permitiendo el icono de "doble check" tipo WhatsApp.
  • Context de Socket: socket.context.tsx en el frontend mantiene una conexión WebSocket persistente durante toda la sesión del usuario, reconectando automáticamente en caso de desconexión.

4. Pasarela de Pagos & Facturación Electrónica

Un flujo financiero completo desde la selección del curso hasta la emisión de comprobante.

  • Tarifas Dinámicas: Cada curso puede tener múltiples Tarifas (precio regular, early bird, corporativo) con TarifaStudent para precios personalizados por estudiante.
  • Sistema de Cupones: Coupon con validaciones de uso, fecha de expiración y porcentaje/monto fijo de descuento.
  • Integración Niubiz: Pasarela de pago líder en Perú, con tokenización de tarjetas y procesamiento seguro PCI-DSS.
  • Facturación Electrónica SUNAT: Generación de Invoice (facturas/boletas) y Note (notas de crédito/débito) integradas con el sistema de facturación electrónica, con cálculo automático de IGV configurable vía VITE_IGV.
  • Generación de PDFs: Comprobantes renderizados con wkhtmltopdf para descarga e impresión.

5. Inteligencia Artificial Integrada

Potenciando la experiencia educativa con modelos de lenguaje de última generación.

  • Groq SDK: Integración con modelos LLM de ultra-baja latencia (respuestas en <500ms) para asistencia académica, generación de contenido y retroalimentación automatizada.
  • OpenAI Compatible: SDK de OpenAI como fallback, permitiendo intercambiar modelos según costo/latencia/calidad sin cambios en la interfaz.
  • Casos de Uso: Generación automática de preguntas de examen, resúmenes de contenido, asistente virtual para estudiantes y análisis de respuestas abiertas.

6. Notificaciones Push Nativas (Web Push VAPID)

Sistema de engagement que mantiene a los usuarios informados sin depender de la app abierta.

  • Protocolo VAPID: Claves pública/privada configuradas para envío seguro de notificaciones sin intermediarios.
  • Subscripción por Usuario: Cada User almacena su subscription push con flag enabled_notifications_webpush para opt-in/opt-out.
  • PWA Ready: vite-plugin-pwa habilitado para instalación como aplicación nativa con soporte offline y notificaciones en segundo plano.

📁 Arquitectura de Módulos (20 Servicios)

Cada módulo sigue el patrón Schema-Driven Architecture con la siguiente estructura interna:

servicio/
├── schemas/        → Single Source of Truth (validación con valibot)
├── entities/       → Modelos ORM (Sequelize-TypeScript decorators)
├── dtos/           → Data Transfer Objects (derivados del schema)
├── controllers/    → Endpoints REST (@Controller, @Get, @Post, @Validator)
├── services/       → Lógica de negocio (inyección de dependencias)
├── apis/           → Hooks frontend (useQuery, useMutation)
├── components/     → UI específica del módulo (Preact + Signals)
├── libs/           → Utilidades internas (client/ y server/ separados)
├── guards/         → Protección por roles
├── middlewares/    → Interceptores de request
├── strategies/     → Passport.js strategies
├── sockets/        → WebSocket controllers (Socket.IO)
├── hooks/          → Hooks frontend específicos
├── seeders/        → Datos iniciales
└── types/          → TypeScript types

Mapa de Dependencias entre Módulos

┌─────────────────────────────────────────────────────────┐
│                    🔐 AUTH (Passport)                    │
│              local + JWT strategies                      │
└──────────────────────┬──────────────────────────────────┘

┌──────────────────────▼──────────────────────────────────┐
│                    👥 USER (Core Entity)                 │
│    5 roles · photos · subscriptions · soft-delete        │
└───┬────────┬────────┬────────┬────────┬────────┬────────┘
    │        │        │        │        │        │
    ▼        ▼        ▼        ▼        ▼        ▼
┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐
│ CURSO ││ CHAT  ││PAYMENT││EMPRESA││NOTIF. ││EMAIL  │
│11 ent.││5 ent. ││4 ent. ││5 ent. ││2 ent. ││2 ent. │
└───┬───┘└───────┘└───┬───┘└───────┘└───────┘└───────┘
    │                 │
    ▼                 ▼
┌───────┐       ┌───────────┐
│ CLASE │       │FACTURACION│
│3 ent. │       │  3 ent.   │
└───┬───┘       └───────────┘


┌──────────┐
│ACTIVIDAD │
│  7 ent.  │
└──────────┘

🖥️ Frontend — Arquitectura SPA Multi-Panel

La interfaz se divide en 3 experiencias de usuario completamente diferentes:

Panel Ruta Audiencia Características
🌐 Web Pública / Visitantes Landing, catálogo de cursos, página "Nosotros"
🎓 Campus /campus/* Estudiantes Dashboard, mis cursos, actividades, horario (react-big-calendar), biblioteca, buzón, pagos, perfil, programas
🔧 Interno /interno/* Admin/Docentes Dashboard con Chart.js, CRUD de cursos completo, gestión de estudiantes, novedades (TinyMCE/Quill), cupones, órdenes, facturación, configuración

14 Hooks Reutilizables

Hook Propósito
useSocket Conexión WebSocket persistente con auto-reconnect
useSSE Server-Sent Events para actualizaciones unidireccionales
useCronometro Cronómetro de exámenes con precisión de milisegundos
useTemporizador Countdown timer para deadlines de actividades
useInactiviy Detección de inactividad (cierre de sesión automático)
useIntersectionObserver Lazy loading de contenido y scroll infinito
useDropdown Lógica de menús con accesibilidad
useClickOutside Cierre de modales al hacer clic fuera
useCopyToClipboard Copiar códigos de cupón al portapapeles
useMediaQuery Responsive breakpoints reactivos
useDebounceOnBlur Búsqueda optimizada con debounce
usePressTimeOut Long-press para acciones contextuales (mobile)
useTypingEffect Efecto typewriter para la integración con IA
useVisible Toggle de visibilidad con animación

4 Contexts Globales

Context Responsabilidad
auth.context Usuario autenticado, rol activo, token JWT
campus.context Estado completo del campus (~13KB de lógica) — cursos activos, secciones, progreso
global_fetch.context Configuración base de fetching (headers, interceptors, base URL)
socket.context Instancia Socket.IO compartida con lifecycle management

~95 Componentes UI Reutilizables

src/components/
├── extras/     → 47 componentes (cards, badges, loaders, tooltips, etc.)
├── form/       → 14 componentes (inputs, selects, file uploads, rich text)
├── table/      → 16 componentes (sorting, filtering, pagination, export)
├── icons/      → 10 componentes SVG optimizados
└── web_form/   → 8 componentes de formularios públicos (contacto, registro)

🛡️ Calidad de Software & DevOps

  • Testing con Vitest: Suite de pruebas integrada con el mismo bundler de desarrollo (Vite), eliminando discrepancias entre entorno de test y producción.
  • Linting con Biome: Reemplazo de ESLint + Prettier en un solo binario Rust de alto rendimiento — formateo y linting en <100ms para todo el codebase.
  • 56 Migraciones de Base de Datos: Historial completo de evolución del esquema, permitiendo rollback a cualquier punto (npm run db:rollback) y recreación desde cero (npm run db:migrate:fresh).
  • Docker Multi-Stage: Dockerfile optimizado con docker-compose.yml (desarrollo) y docker-compose.production.yml (producción) para despliegue consistente.
  • PM2 Process Manager: Gestión de procesos Node.js en producción con auto-restart, monitoreo de memoria y clustering.
  • Pino Logger: Logging estructurado en JSON de alto rendimiento (~30x más rápido que Winston), con pino-pretty para desarrollo legible.
  • Morgan HTTP Logger: Request logging integrado con Pino para trazabilidad completa de cada petición HTTP.

**CAMPUS-AI** — No es solo un campus virtual. Es una plataforma educativa enterprise construida con TypeScript de extremo a extremo, donde 20 módulos de dominio, 40+ tablas relacionales, comunicación en tiempo real, pagos con Niubiz, facturación SUNAT e inteligencia artificial convergen en un monolito optimizado para máxima productividad y escalabilidad institucional.