DevGrafik
Propuesta Comercial · Confidencial · N° DG-LMS-2026-003
Diagnóstico técnico y tres rutas de intervención · Editorial Encuentro

Plataforma
Digital de
Aprendizaje

Corregir, completar o reconstruir la plataforma actual — con una herramienta que le devuelve a la editorial la capacidad de publicar su propio contenido

Preparado para Editorial Encuentro
En operación
12 colegios este mes
3 opciones
Correcciones · Actualización + autoría · LMS nuevo
Autoría propia
Contenido sin programador
Diagnóstico
Sobre la plataforma real
Septiembre 2026
Propuesta
01 · Alcance y Descripción

El punto de partida y las tres opciones

Editorial Encuentro ya tiene una plataforma en operación, usada a diario por colegios reales. Esta propuesta parte de un diagnóstico técnico completo de esa plataforma y ofrece tres caminos, de menor a mayor alcance.

1.1 · Qué encontramos en la plataforma actual

Un sistema que funciona y se usa, pero lleva un año sin mantenimiento

Antes de proponer nada se hizo una auditoría técnica completa: infraestructura, código fuente, base de datos y uso real. Estos son los hechos que sustentan las tres opciones.

✅ Se usa todos los días

En el último mes: 179 estudiantes de 12 colegios y 32 docentes resolvieron 838 actividades. Hay programaciones cargadas hasta diciembre. En cinco meses se registraron 344 estudiantes nuevos.

✅ La gestión escolar está resuelta

Colegios, cursos, docentes, matrícula con código del libro, programación de actividades con fechas, calificaciones y reportes: todo eso existe y funciona bien. No hay que reconstruirlo.

⚠️ Sin respaldos desde hace un año

La política de backups automáticos está en estado de error desde septiembre de 2025. Si hoy falla el disco, se pierde todo lo producido desde entonces.

⚠️ Credenciales expuestas

La plataforma está en modo depuración: cualquier visitante que provoque un error ve las credenciales de la base de datos en pantalla.

🔴 Datos de menores accesibles entre colegios

Comprobado en vivo: un colegio puede leer los datos personales de estudiantes de otro colegio —documento, fecha de nacimiento, acudiente— cambiando un número en la dirección. Es incompatible con la Ley 1581 de habeas data.

⚠️ Toda la pila sin soporte

Sistema operativo, lenguaje, framework y base de datos están fuera de soporte al mismo tiempo, algunos desde hace cinco años. Una auditoría de dependencias encontró 83 vulnerabilidades conocidas —37 críticas o altas— incluidas las librerías que generan los PDF y Excel de calificaciones.

⚠️ Errores diarios que nadie ve

Unos 110 errores al día. Dos funcionalidades completas nunca llegaron a funcionar desde que se escribieron, y nadie lo notó porque no hay monitoreo ni pruebas automatizadas.


1.2 · La plataforma que se construye en la opción LMS nuevo

La plataforma en una página

Se construye un LMS multitenant con panel maestro para la editorial y espacios aislados por colegio. El estudiante que compra un libro original se registra con el PIN impreso en el texto, queda matriculado automáticamente en su colegio y curso, y accede a su libro digital, a los textos de cortesía que la editorial le active y a la vitrina con los demás títulos de su grado.

🔐

Estudiante — activa con su PIN

Selecciona colegio y grado, ingresa el PIN del libro y en menos de dos minutos está dentro de su curso con su texto digital activado.

🧑‍🏫

Docente — curso listo

Sus cursos llegan preconfigurados por la editorial. Habilita actividades y evaluaciones, hace seguimiento y exporta notas.


1.3 · Modelo de activación por código

El corazón del negocio: un código único por libro

Flujo de registro del estudiante

  • Selecciona su colegio y su grado (listas de la editorial)
  • Ingresa el PIN impreso en su libro físico
  • El sistema valida: existe, es original, corresponde al título y no fue usado
  • Crea su cuenta con autorización del acudiente (Ley 1581)
  • Entra directo a su curso, con docente y libro ya activados

Blindaje anti-piratería

  • Códigos criptográficos, no secuenciales, con dígito de verificación
  • Cada PIN sirve una sola vez y queda ligado a esa cuenta
  • Límite de intentos y bloqueo temporal por IP
  • Auditoría: quién activó qué, cuándo y desde dónde
  • Visor sin descarga + marca de agua con el nombre del estudiante

Dos vías de ingreso: el PIN es la vía principal. Adicionalmente, la plataforma soporta matrícula administrada — carga masiva de estudiantes por Excel/CSV o creación manual — para colegios que prefieran entregar las cuentas ya creadas; el PIN del libro se vincula igualmente a cada cuenta para conservar el control anti-piratería.


1.4 · Textos digitales y vitrina de catálogo

Cortesías que fidelizan y una vitrina que vende

Textos digitales de cortesía

La editorial activa en bloque, por colegio o por curso, textos digitales adicionales — por ejemplo, quien compró Matemáticas y Lenguaje físicos recibe Ciencias y Sociales en digital. Solo lectura, sin actividades ni evaluaciones. El libro digital se genera a partir del PDF que entrega la editorial (Capítulo 07); la plataforma lo publica en el visor protegido.

Vitrina de catálogo

El estudiante ve las carátulas de los demás libros de su grado en modo desactivado. Cuando compra el libro físico, ingresa el nuevo PIN y el título se activa al instante — el catálogo completo trabaja para el equipo comercial de la editorial.

02 · Stack Tecnológico

La pila de cada opción

Las opciones Correcciones y Actualización actualizan la plataforma actual a versiones con soporte. El LMS nuevo la reconstruye en TypeScript de punta a punta.

2.1 · La pila de las opciones Correcciones y Actualización

Plataforma actual — la misma tecnología, en versiones con soporte

Las opciones Correcciones y Actualización no cambian de tecnología: trabajan sobre el sistema que hoy está en producción y lo llevan a versiones vigentes. Es la diferencia de fondo con la opción LMS nuevo, que es una plataforma nueva.

Componente Hoy Después de la intervención Por qué importa
Sistema operativo Ubuntu 18.04 Versión LTS con soporte Sin soporte estándar desde mayo de 2023: no recibe parches de seguridad
Lenguaje PHP 7.3 PHP 8.2 o superior Fin de vida en diciembre de 2021. Es el salto más grande y el que concentra el riesgo
Framework Laravel 8 Versión con soporte activo Sin parches de seguridad desde enero de 2023
Base de datos MySQL 5.7 MySQL 8 Fin de vida en octubre de 2023
Servidor web Apache 2.4 Apache actualizado Se conserva; solo se actualiza y se corrige la configuración de la raíz pública
Pruebas automatizadas Ninguna Cobertura de los flujos críticos Hoy la cobertura es cero, y por eso hubo funcionalidades rotas durante años sin que nadie lo notara

2.2 · La pila de la opción LMS nuevo

Plataforma nueva — TypeScript de punta a punta

CDN / Edge
Cloudflare CDN + WAF
PoP Bogotá · DDoS · SSL
S3 / R2 · Object storage
Libros y recursos · enlaces firmados
Frontend
Next.js 15 · App Router
SSR · RSC · CSR híbrido
TanStack Query v5
Server state · cache
shadcn/ui + Tailwind 4
Paneles admin / docente
Visor protegido
Texto digital · marca de agua
Canvas API + React
Actividades interactivas
Chart.js + AG Grid
Dashboards · tabla notas
Backend
NestJS · Monolito modular
Módulos extraíbles → microservicios
Motor de PINes
Lotes · checksum · unicidad
TypeORM + migrations
Entidades tipadas · rollback
BullMQ
Colas async · cierres programados
Passport + JWT
Auth multitenant · guards
Swagger / OpenAPI
Docs API auto-generadas
Datos
PostgreSQL 16
DB transaccional · ACID
Redis 7
Cache · BullMQ · sesiones
Monorepo
Nx Workspace
Next.js + NestJS un solo repo
libs/shared/types
DTOs compartidos FE ↔ BE
GitHub Actions CI/CD
Tests · build · deploy auto
Vitest + Playwright
Unit tests · E2E tests
Sentry
Error tracking ambas capas
Email
Resend / SES + React Email
Transaccional · templates TSX
UptimeRobot
Monitoreo endpoints críticos

2.3 · Nx Monorepo — la clave de la arquitectura

Un solo repositorio, tipos compartidos, un CI/CD

El monorepo Nx no es solo organización de código — es la decisión que hace posible compartir interfaces TypeScript entre Next.js y NestJS, y que permite pasar de la opción Correcciones a la opción LMS nuevo agregando módulos sin tocar los existentes.

lms-encuentro/ — Nx Workspace

TypeScript · pnpm workspaces · turbo cache
apps/web
apps/web/ Next.js 15
apps/web/app/ App Router pages
apps/web/reader/ Visor protegido
apps/web/activities/ Actividades React

apps/api
apps/api/ NestJS
apps/api/src/auth/ AuthModule
apps/api/src/pins/ PinsModule
apps/api/src/catalog/ CatalogModule
apps/api/src/evals/ EvaluationsModule
apps/api/src/analytics/ AnalyticsModule
libs/shared — clave de la arquitectura
libs/shared/types/ Interfaces TS compartidas
└─ pin-batch.dto.ts
└─ activation.dto.ts
└─ evaluation.dto.ts
└─ institution.dto.ts
libs/shared/utils/ Helpers comunes
libs/shared/constants/ Roles, estados

libs/ui
libs/ui/ Design system compartido
└─ shadcn components
└─ activity components
Ventaja al escalar
la opción Correcciones:
Todos los módulos
en un proceso NestJS
(monolito modular)

la opción LMS nuevo:
Se agregan AiModule,
ArModule y Gamification
sin tocar lo existente.
El código base no cambia.
⚡ Los DTOs de libs/shared/types son la única fuente de verdad. Si el backend cambia ActivationDto, el frontend Next.js falla en compilación antes de llegar a producción. Cero errores de integración API.

Por qué NestJS y no Express u otro framework Node: NestJS tiene un sistema de módulos con inyección de dependencias que replica exactamente la arquitectura de microservicios — solo que todo corre en el mismo proceso. Cuando el crecimiento lo exija, @nestjs/microservices permite separar módulos con un cambio de configuración. Express no tiene ese concepto — habría que reescribir la comunicación desde cero.


03 · Alcance funcional por opción

Alcance funcional — qué incluye cada opción

La columna marcada indica que la funcionalidad queda operativa al terminar esa opción. Varias ya existen hoy y funcionan bien: se conservan. Todo lo marcado está incluido en el precio.

3.1 · Tabla de funcionalidades
Funcionalidad Correcciones Actualización
+ autoría
LMS nuevo Detalle
Estado técnico, seguridad y operación
Corrección de los errores del diagnóstico ✓ ✓ ✓ Los 10 errores catalogados, incluidas las dos funcionalidades que nunca llegaron a funcionar
Cierre de brechas de seguridad ✓ ✓ ✓ Modo depuración desactivado, credenciales rotadas, consultas parametrizadas, discos cifrados
Cierre de las 83 vulnerabilidades de dependencias ✗ ✓ ✓ Actualización de las librerías con CVEs conocidos (dompdf, phpspreadsheet, guzzle, commonmark y más). En la opción LMS nuevo no aplican: la plataforma se construye con dependencias actuales
Aislamiento real entre colegios ✓ ✓ ✓ Hoy todos los colegios comparten el mismo sistema y la separación depende de un filtro escrito a mano en cada consulta; algunas rutas de edición no lo aplican, de modo que un colegio podría acceder a docentes o estudiantes de otro cambiando el identificador en la petición. Se corrige verificando la pertenencia en cada acceso, no solo en los listados
Multi-tenant automático por colegio ✗ ✗ ✓ En la plataforma nueva, cada colegio queda aislado de raíz: al crearse, el sistema genera su propio ámbito de datos y toda consulta se filtra por ese ámbito de forma automática, sin depender de que un programador lo recuerde. Todos los colegios usan el mismo enlace principal; la separación es interna y no se puede saltar. En las opciones Correcciones y Actualización el aislamiento se refuerza corrigiendo las consultas, pero no cambia el modelo de la plataforma actual
Actualización de la pila tecnológica ✗ ✓ ✗ Sistema operativo, PHP, framework y base de datos a versiones con soporte. En la opción LMS nuevo no aplica: la pila es nueva
Backups automáticos verificados ✓ ✓ ✓ Reparación de la política de respaldos y prueba real de restauración
Monitoreo que sí avisa ✓ ✓ ✓ Reemplaza el vigilante actual, que no vigila nada. Alertas por caída, errores y disco
Tests automatizados sobre los flujos críticos ✓ ✓ ✓ Hoy la cobertura es cero: por eso hubo funcionalidades rotas durante años sin que nadie lo notara
Corrección del patrón de fallos por datos faltantes ✓ ✓ ✓ 35 puntos del código usan un resultado de consulta sin verificar que exista, y cada uno puede mostrar la pantalla de error con credenciales. Se corrigen todos con un patrón seguro, no caso por caso
Optimización del costo de infraestructura ✓ ✓ ✓ Ahorro estimado de USD ~120 al mes sobre la factura actual, sin degradar el servicio
Gestión editorial, colegios y usuarios
Panel central de la editorial ✓ ✓ ✓ Ya existe y funciona: colegios, cursos, docentes, catálogo y licencias
Crear libros y su estructura (registro y unidades) ✓ ✓ ✓ Ya existe: la editorial da de alta un libro nuevo, su portada y sus unidades. Pero esto solo crea el contenedor: las actividades quedan vacías hasta llenarlas de contenido (fila siguiente)
Asignación de docentes a cursos ✓ ✓ ✓ Ya existe: un docente puede tener varios cursos simultáneos
Roles y permisos diferenciados ✓ ✓ ✓ Ya existe: 7 roles con permisos por acción
Carga masiva de docentes y estudiantes (Excel/CSV) ✗ ✓ ✓ Hoy solo hay exportación; la importación masiva se agrega
Registro unificado en un solo flujo ✗ ✓ ✓ Hoy conviven dos puertas de entrada distintas: la general y la de la línea de inglés, que pide un código en lugar de contraseña. Se unifican en un único registro
Códigos de activación y control de piratería
Generación de lotes de códigos por tirada ✓ ✓ ✓ Ya existe: 315.193 códigos generados históricamente, descargables para imprenta
Registro del estudiante con código y matrícula automática ✓ ✓ ✓ Ya existe: valida que el libro del código corresponda al libro del curso
Trazabilidad real de las activaciones ✗ ✓ ✓ Hoy está roto: 27.140 códigos usados contra 86 activaciones registradas. Es información comercial que la editorial no tiene
Contenido y producción editorial
Motor de actividades interactivas ✓ ✓ ✓ Ya existe y está probado sobre 651 actividades en 5 tipos de interacción
Autoría de actividades interactivas ✗ ✓ ✓ El eslabón que falta para la autonomía total: hoy la editorial ya puede crear el libro y sus unidades, pero no su contenido —cada actividad exige que un desarrollador produzca y suba archivos al servidor—. Con la herramienta, el equipo de diseño crea y publica las actividades de un libro nuevo por su cuenta, sin programador y sin despliegues. Sustituye la cadena que dependía de Adobe Animate
Migración del catálogo actual a la herramienta ✗ ✓ ✓ Las 651 actividades existentes ya están enlazadas a su libro y unidad y seguirán funcionando tal cual. La migración las convierte de archivos a datos editables —de forma gradual, sin rehacerlas— para que la editorial también pueda modificarlas desde la herramienta
El docente agrega enlaces y recursos externos ✗ ✓ ✓ Complementar una unidad con material propio
Contenidos organizados en las 4 unidades del libro ✗ ✓ ✓ Toda actividad —existente o nueva— queda asignada a la unidad que le corresponde, y el docente programa por unidad. Hoy esa estructura solo existe en los 15 títulos de la línea más reciente; el resto tiene entre 7 y 84 elementos sueltos por libro
Libros digitales de cortesía por colegio y grado ✗ ✓ ✓ La editorial obsequia títulos digitales —sociales, naturales— a un colegio y un grado concretos. Estudiantes y docentes los ven junto a los libros que sí compraron. El mecanismo por colegio ya existe a medias (691 asignaciones registradas); falta incorporar el grado, que hoy no existe en el modelo de datos
Visor de texto digital protegido ✗ ✓ ✓ No se construye desde cero: hoy el libro ya se muestra embebido, pero el contenido está en la raíz pública y se puede abrir o descargar sin haber comprado el libro. Se blinda sacándolo de acceso público y sirviéndolo por rutas autenticadas, sin descarga directa
Vitrina de catálogo con venta directa ✗ ✗ ✓ Escaparate de los demás títulos del grado, con activación por compra desde la propia plataforma
Evaluación y control docente
Programación de actividades con fecha de apertura y cierre ✓ ✓ ✓ Ya existe y se usa: 3.299 programaciones cargadas
Libro de calificaciones y exportación a Excel y PDF ✓ ✓ ✓ Ya existe en el panel del docente
Evaluación con nota real ✗ ✓ ✓ Hoy la estructura existe pero no se usa: el 92% de las notas son exactamente 100. Se pone en operación con rúbricas y ponderaciones
Práctica repetida y reintentos ✗ ✓ ✓ Hoy la actividad se bloquea para siempre al terminarla. En una plataforma de lectura y aritmética temprana, repetir es el aprendizaje
El docente crea sus propias evaluaciones ✗ ✓ ✓ Banco de preguntas propio del docente, además de las evaluaciones que define la editorial. Puede armarlas por unidad y programarlas a su curso con fecha de apertura y cierre
Autoría de evaluaciones: talleres y prueba tipo Saber ✗ ✓ ✓ Módulo distinto al de actividades, con su propio acceso y su propio bloque dentro de la unidad. Hoy no existe nada de esto: se crea el modelo completo. Dos formatos — taller (selección múltiple de única respuesta, con tiempo configurable) y prueba tipo Saber (20 preguntas, 60 minutos, única respuesta) — con temporizador y calificación automática. Poca variación de tipos de pregunta, pero requisitos de examen (tiempo, control de intentos) que las actividades no tienen
El docente publica contenido propio para su curso ✗ ✓ ✓ Material adicional —documentos, enlaces, recursos— visible para sus estudiantes junto al contenido editorial, sin pasar por la editorial ni por un desarrollador
Reportes y seguimiento
Reportes y gráficas para el docente ✓ ✓ ✓ Ya existe: progreso del curso y desempeño por estudiante
Panel de seguimiento para el estudiante ✗ ✓ ✓ Que el propio alumno vea su avance
Reportes agregados para el colegio y la editorial ✗ ✓ ✓ Hoy solo el docente tiene visión; la institución y la editorial no
No incluido en ninguna opción
Producción editorial del contenido ✗ ✗ ✗ Ilustración, locución y redacción pedagógica las aporta el equipo de la editorial — que con la herramienta de autoría las publica sin intermediarios
App móvil nativa en tiendas iOS y Android ✗ ✗ ✗ La versión web responsiva cubre el uso en tableta y celular
Videoconferencia, chat entre estudiantes y pasarela de pagos ✗ ✗ ✗ Fuera del alcance por decisión de producto
✓ Incluido en el precio de la opción ✗ No incluido
04 · Entregables del Proyecto

¿Qué entrega DevGrafik exactamente?

Módulos concretos, cada uno con pruebas funcionales y documentación antes de pasar al siguiente. Los módulos 08 (actividades) y 09 (evaluaciones) corresponden a las opciones Actualización + autoría y LMS nuevo.

4.1 · Módulos entregados
01

Setup del Nx Monorepo + CI/CD + entornos

Workspace Nx con Next.js + NestJS y librerías compartidas de tipos. GitHub Actions para tests automáticos y deploy a staging. Entornos de desarrollo, pruebas y producción configurados.

Nxpnpm workspacesGitHub ActionsVitest
02

Autenticación multitenant y control de acceso

JWT con refresh tokens, guards por rol (editorial / rector / docente / estudiante), restablecimiento de contraseña, consentimiento de acudiente y aislamiento de datos por colegio.

NestJS PassportMulti-tenantLey 1581
03

Panel editorial + motor de PINes + CMS

Gestión de colegios, cursos, docentes y catálogo. Generación de lotes de PINes con checksum y exportación para imprenta. Licencias por año lectivo. CMS para organizar libros, unidades y contenido. Activación en bloque de cortesías.

Motor de PINesCMSLicenciasCortesías
04

Registro con PIN + dashboard del estudiante

Flujo completo colegio → grado → PIN → curso, con validación anti-piratería, bloqueos y auditoría. Dashboard con sus libros activos, vitrina del catálogo del grado y textos de cortesía.

Validación PINVitrinaMatrícula automática
05

Visor protegido del texto digital

Lectura paginada del libro digital generado a partir del PDF de la editorial: sin descarga, marca de agua con el nombre del estudiante, índice navegable, zoom y enlaces firmados con expiración.

Marca de aguaSin descargaS3 + CDN
06

Panel del docente + motor de evaluaciones

Cursos asignados, habilitar/deshabilitar contenido, programación con cierre automático, calificación automática de preguntas cerradas, banco de preguntas del docente para evaluaciones propias, libro de calificaciones y exportación Excel/PDF.

BullMQ schedulingAG Grid notasChart.js
07

Reproductor de actividades + reportes esenciales

Motor que ejecuta las actividades interactivas del Capítulo 07 con contrato único (configuración de entrada → puntaje, respuestas y tiempo de salida). Reportes de PINes, registros y progreso para la editorial.

Contrato únicoResultados APIReportes
08

Autoría de actividades interactivas Actualización y LMS nuevo

Editor donde el equipo de diseño de la editorial crea las actividades interactivas de práctica (arrastrar, trazo, audio, emparejar…) por sí mismo, sin programar: elige el tipo, sube sus imágenes y audios, escribe el enunciado, marca las respuestas, previsualiza y publica. Cada actividad queda enlazada automáticamente a su libro y a su unidad (la relación ya existe en la plataforma) y aparece de inmediato dentro del libro. El contenido se guarda como dato, no como código, y el motor lo ejecuta igual que a las 651 actividades actuales.

Editor visualPrevisualizaciónPublicación directaSin despliegues
09

Autoría de evaluaciones — talleres y prueba tipo Saber Actualización + autoría y LMS nuevo

Un módulo aparte del de actividades, con su propio acceso y su propio bloque dentro de la unidad. Hoy no existe en la plataforma: se construye el modelo completo. La editorial arma talleres (selección múltiple de única respuesta, tiempo configurable) y pruebas tipo Saber (20 preguntas, 60 minutos), con temporizador, control de intentos y calificación automática. El docente las reutiliza o crea las suyas.

Banco de preguntasTemporizadorPrueba tipo SaberCalificación automática
10

Licencias por colegio y grado, y autonomía del docente Actualización y LMS nuevo

La editorial activa títulos digitales de cortesía a un colegio y un grado concretos —por ejemplo, regalar sociales y naturales a quien compró lenguaje y matemáticas— y estudiantes y docentes los ven junto a los libros adquiridos. En paralelo, el docente puede crear sus propias evaluaciones a partir de un banco de preguntas propio y publicar material adicional para su curso. Incluye la unificación del registro en un solo flujo de entrada.

Concepto de gradoCortesías dirigidasEvaluaciones del docenteRegistro unificado
11

Despliegue, documentación y capacitación

Despliegue en la infraestructura elegida por el cliente, CI/CD de producción, documentación técnica del monorepo, manual de usuario por rol (PDF) y capacitación al equipo de Editorial Encuentro. Acompañamiento en la primera generación de PINes.

DockerDocumentaciónCapacitación
05 · Cronograma

Correcciones: 6 semanas · Actualización + autoría: 4–5 meses · LMS nuevo: 4–5 meses

Cada fase cierra con entregables verificables. El cliente aprueba antes de iniciar la siguiente. La opción Actualización continúa donde termina la opción Correcciones, así que puede contratarse por etapas.

5.1 · Correcciones — corregir y estabilizar
F1
Semana 1 · Estabilización urgente

Backups, seguridad y control del servidor

Reparación de los respaldos y prueba de restauración. Modo depuración desactivado y credenciales rotadas. Rotación del log y liberación de disco. Recuperación del acceso administrativo. Entregable: la plataforma deja de estar en riesgo de pérdida de datos y de fuga de credenciales.

F2
Semanas 2–3 · Corrección de errores

Los 10 errores del diagnóstico y el patrón de fondo

Corrección del error reportado, las notificaciones, los dos cron rotos, el informe de calificaciones y las validaciones ausentes. Corrección de los 35 puntos que usan datos sin verificar (la causa de la mitad de los 500). Entregable: catálogo de errores cerrado y verificado.

F3
Semanas 4–5 · Seguridad de acceso y pruebas

Aislamiento entre colegios y cobertura de pruebas

Cierre del acceso indebido entre colegios (hoy un colegio puede leer datos de menores de otro) y parametrización de las consultas construidas a mano. Pruebas automatizadas sobre los flujos críticos, hoy inexistentes. Entregable: los datos de cada colegio quedan aislados y verificados con pruebas.

F6
Semana 6 · Operación y cierre

Monitoreo, optimización de costos y entrega

Monitoreo que avisa de verdad ante caídas y errores. Optimización de la infraestructura (ahorro estimado de USD ~120 al mes). Documentación y capacitación. Aquí termina Correcciones: la plataforma queda estable y segura, sobre la misma tecnología actual.


5.2 · Actualización + autoría — continúa desde Correcciones
F5
Meses 2–4 · Herramienta de autoría

El módulo decisivo

Editor donde el equipo de diseño crea y publica actividades sin programar, sobre los tipos de interacción que ya funcionan hoy. Migración del catálogo actual: las actividades existentes pasan de ser código a ser datos editables. Entregable: la editorial publica una actividad nueva sin intervención de un desarrollador.

F6
Mes 5 · Módulos pedagógicos y de gestión

Unidades, cortesías por grado, evaluaciones del docente y reportes

Reorganización de todo el catálogo en las cuatro unidades de cada libro. Blindaje del visor de libro: el contenido sale de la raíz pública y pasa a servirse por rutas autenticadas, sin descarga directa. Activación de libros digitales de cortesía por colegio y grado —lo que obliga a incorporar el concepto de grado, hoy inexistente—. Evaluaciones propias del docente y publicación de contenido suyo para el curso. Evaluación con nota real, práctica repetida y reintentos. Reportes agregados para el colegio y la editorial, trazabilidad de los códigos de activación y unificación del registro en un solo flujo. Aquí termina la opción Actualización: la plataforma queda completa como LMS y la editorial, autónoma.


5.3 · LMS nuevo — plataforma desde cero
A1
Mes 1 · Descubrimiento y arquitectura

Diseño UX/UI y fundamentos técnicos

Levantamiento de requisitos con la editorial. Diseño de los paneles (editorial, colegio, docente, estudiante). Monorepo, esquema de base de datos y despliegue continuo desde el primer día. Entregable: prototipo aprobado y entorno de pruebas funcionando.

A2
Mes 2 · Acceso, panel editorial y códigos

Autenticación por roles y motor de códigos

Panel maestro de la editorial, generación y exportación de lotes de códigos, licencias por año lectivo y gestión de contenido. Entregable: la editorial crea colegios, cursos y genera lotes de códigos reales.

A3
Mes 3 · Flujo del estudiante — DEMO

Registro, visor y vitrina

Registro con código y validación anti-piratería, panel del estudiante, visor protegido del texto digital, cortesías y vitrina de catálogo. Entregable: un estudiante activa un libro con su código y lo lee en la plataforma.

A4
Meses 4–5 · Docentes, autoría y migración

Panel docente, herramienta de autoría y traslado de datos

Motor de evaluaciones con banco de preguntas propio del docente, libro de calificaciones, reportes, activación de cortesías por colegio y grado, y herramienta de autoría de contenido. Migración de los datos actuales —colegios, cursos, estudiantes, calificaciones e historial— y del catálogo de actividades. Operación en paralelo con la plataforma actual hasta el corte. Entregable: plataforma nueva en producción, sin pérdida de información ni interrupción del año lectivo.

06 · Infraestructura y Hosting

Tres opciones — el cliente elige

El desarrollo es idéntico en los tres casos. Solo varía el costo mensual de operación que asume la editorial.

6.1 · Opciones de infraestructura

DevGrafik configura e instala el sistema en la opción elegida — la configuración está incluida en el precio de desarrollo. Los costos mensuales de operación los paga Editorial Encuentro directamente a cada proveedor, y varían según el tráfico real, la región y las tarifas vigentes de cada servicio.

Opción A · Recomendada — ya tienen AWS

AWS todo-en-uno

A consultar con el proveedor
Costo mensual variable según uso
  • ECS Fargate · NestJS
  • Amplify o CloudFront · Next.js
  • RDS PostgreSQL (Multi-AZ opcional)
  • ElastiCache Redis
  • S3 + CloudFront · libros y recursos
  • SES · email
  • CloudWatch · monitoreo
Opción B · Servicios especializados

Railway + Vercel + Neon

A consultar con el proveedor
Costo mensual variable según uso
  • Railway · NestJS API
  • Vercel · Next.js frontend
  • Neon PostgreSQL · scale-to-zero
  • Upstash Redis · por request
  • Cloudflare R2 + CDN
  • Resend · email
Opción C · VPS propio

Servidores propios

A consultar con el proveedor
Costo mensual variable según uso
  • Hetzner Cloud × 3 VPS
  • Docker Compose
  • PostgreSQL y Redis self-hosted
  • MinIO · object storage
  • Cloudflare Free · CDN + WAF
  • Requiere DevOps de la editorial

Los costos de infraestructura no están incluidos en el precio de desarrollo — son gastos operativos mensuales que Editorial Encuentro consulta y contrata directamente con el proveedor elegido, ya que dependen del tráfico real, la región y las tarifas vigentes en el momento de la contratación. Como la editorial ya cuenta con AWS, se recomienda la Opción A: DevGrafik despliega sobre la cuenta AWS del cliente con permisos delimitados y entrega la configuración documentada con su guía de operación, para que el equipo de la editorial pueda cotizar el costo mensual directamente con AWS según su volumen esperado.

07 · Producción de contenido

La herramienta de autoría — que la editorial vuelva a publicar por su cuenta

El cuello de botella de la plataforma no es tecnológico: es que publicar una actividad nueva exige un programador. Este capítulo explica cómo se resuelve.

7.1 · Por qué hoy no se puede producir contenido

Dos problemas encadenados

La cadena de producción de Editorial Encuentro era: el equipo de diseño creaba la actividad en Adobe Animate, se la pasaba a un desarrollador, éste la integraba en la plataforma y se desplegaba. Esa cadena está rota en dos puntos a la vez.

Adobe Animate desapareció

La herramienta con la que el equipo de diseño producía los recursos ya no existe. Aunque no se tocara una línea de código de la plataforma, la editorial hoy no puede crear actividades nuevas.

El contenido es código, no datos

Cada una de las 651 actividades actuales está escrita a mano como una plantilla con su propia dirección en el sistema. Publicar una actividad nueva significa escribir código y desplegar el servidor. La editorial depende de un desarrollador para cada ejercicio.


7.2 · Cómo funciona la herramienta

El equipo de diseño publica sin intermediarios

Un editor dentro de la plataforma, pensado para diseñadores y no para programadores. El motor que ejecuta las actividades ya existe y está probado sobre las 651 actividades actuales: lo que se construye es la interfaz para alimentarlo.

1
Elegir

El tipo de actividad

De un catálogo de mecánicas ya construidas y probadas. No hay que inventar la interacción: se configura.

2
Cargar

Sus propias ilustraciones y audios

Los recursos que el equipo de diseño produce con la herramienta gráfica que prefiera. La plataforma deja de depender de un programa concreto.

3
Configurar

Enunciado, respuestas y unidad del libro

Se escribe la instrucción para el estudiante, se marcan las respuestas válidas y la actividad queda enlazada a su libro y a su unidad. Esa relación libro → unidad → actividad ya existe en la plataforma, así que la actividad nueva aparece de inmediato dentro del libro correcto, en la unidad correcta. Sin tocar una línea de código.

4
Previsualizar y publicar

Disponible al instante

Se prueba la actividad tal como la verá el estudiante y se publica. Sin despliegues, sin esperar a un desarrollador, sin costo por actividad.


7.3 · Mecánicas disponibles

Qué puede crear el equipo de diseño

Cada mecánica es una plantilla configurable que se construye una sola vez y se reutiliza en todos los libros y todas las áreas. Todas registran puntaje, respuestas y tiempo en el libro de calificaciones.

🎯 Quiz de selección múltiple

Pregunta con opciones (texto o imagen); el estudiante elige y recibe retroalimentación inmediata.

🖐️ Arrastrar y soltar

Mover elementos al lugar correcto: partes de una célula, números en una recta, palabras en una oración.

🔗 Emparejamiento

Unir columnas o parejas relacionadas: concepto con definición, país con capital, imagen con palabra.

✏️ Completar espacios

Frases o ejercicios con espacios en blanco que el estudiante llena escribiendo o eligiendo la palabra.

🔢 Ordenar secuencias

Poner en el orden correcto los pasos de un proceso, eventos históricos o etapas de un ciclo.

🗂️ Clasificación por categorías

Arrastrar elementos a la caja que corresponde: vertebrados/invertebrados, sustantivos/verbos.

🔤 Sopa de letras y crucigrama

Vocabulario de la unidad en formato de juego, generado desde las palabras clave del libro.

🧠 Memoria (parejas)

Voltear tarjetas para encontrar parejas — imagen con imagen o imagen con palabra. Ideal para primaria baja.

🖼️ Identificación en imagen

Señalar sobre una lámina del libro: ubicar órganos, regiones del mapa, partes de una planta.


7.4 · Dos módulos distintos: actividades y evaluaciones

Practicar y evaluar no son lo mismo

La editorial podrá crear dos cosas diferentes, desde dos accesos diferentes, aunque ambas vivan dentro de la unidad del libro. Se separan porque tienen naturaleza, requisitos y modelo de datos distintos.

Actividades interactivas — para practicar

Los ~8 tipos de mecánica (arrastrar, trazo, audio, emparejar…). El estudiante practica y recibe retroalimentación. Es lo que ya existe hoy como las 651 actividades, y lo que el editor de autoría permite crear sin programador.

Evaluaciones — para calificar

Un bloque aparte dentro de la unidad, con su propio acceso. Dos formatos: taller (selección múltiple de única respuesta, con tiempo configurable) y prueba tipo Saber (20 preguntas, 60 minutos). Con temporizador, control de intentos y calificación automática. Hoy no existe en la plataforma: se construye desde cero.

08 · Inversión y Condiciones

Tres opciones de inversión — la editorial elige hasta dónde llegar

De menor a mayor alcance. Las tres resuelven los errores y las brechas de seguridad; se diferencian en cuánto transforman la plataforma.

8.1 · Inversión — Desarrollo
Precio cerrado por opción · Editorial Encuentro
Tres rutas para la plataforma · de la corrección al LMS nuevo
Correcciones · 6 semanas
$20 M
COP · precio fijo
Solo corregir lo que está roto, sin cambiar de tecnología: los errores del catálogo, el aislamiento entre colegios, el patrón de fallos por datos faltantes, las brechas de seguridad inmediatas (modo depuración, credenciales, backups) y monitoreo básico
Actualización + autoría · 4–5 meses
$60 M
COP · precio fijo
Todo lo de Correcciones + actualización de la pila (PHP, Laravel, base de datos, sistema operativo y cierre de las 83 vulnerabilidades), herramienta de autoría de contenido, contenidos por unidad, libros de cortesía por colegio y grado, visor de libro protegido, evaluaciones propias del docente, práctica repetida, evaluación real, reportes para la institución, trazabilidad de códigos y registro unificado
LMS nuevo · 4–5 meses
$80 M
COP · precio fijo
Plataforma nueva desde cero en TypeScript end-to-end: panel central, PINes anti-piratería, registro automático, visor protegido, cortesías, vitrina, evaluaciones, reportes y herramienta de autoría de contenido, con migración de los datos actuales
¿Qué incluye el precio? Diseño UX/UI de las pantallas nuevas
Desarrollo de los módulos descritos en el Capítulo 04
Tests automatizados sobre los flujos críticos
Configuración de la infraestructura elegida
Documentación técnica + manuales por rol
Capacitación al equipo de la editorial
Garantía: 60 días de corrección de bugs post-entrega
Plan de pagos Se acuerda directamente con Editorial Encuentro, ligado a hitos y metas verificables del cronograma (Capítulo 05). Precio fijo por opción: no varía dentro del alcance descrito en el Capítulo 03.

Soporte y mantenimiento
No se cobra como cuota fija mensual. Al cumplirse los 60 días de garantía se define un esquema ligado a indicadores de servicio (tiempos de respuesta, disponibilidad, resolución de incidencias) y a las metas de crecimiento de la plataforma en ese momento — colegios activos, nuevos módulos, volumen de usuarios.

No incluye
Infraestructura mensual, a cargo del cliente (Capítulo 06).

8.2 · Términos y condiciones
Alcance El precio de cada opción cubre las funcionalidades marcadas con ✓ en la tabla del Capítulo 03. Cualquier funcionalidad adicional se cotiza por escrito antes de iniciar.
Cambios de alcance Hasta 2 ajustes por fase sin costo, siempre que no superen el 10% del esfuerzo de esa fase. Cambios mayores se cotizan y aprueban por escrito.
Plan de pagos Se acuerda directamente con el cliente, ligado a hitos y metas verificables del cronograma. Precio fijo por opción (Capítulo 8.1).
Propiedad del código y del contenido Al completar el pago total, Editorial Encuentro recibe el código fuente completo (repositorio privado en GitHub a su nombre) y la propiedad intelectual del 100% del contenido producido.
Infraestructura Los costos mensuales de hosting, bases de datos y CDN son responsabilidad de la editorial. DevGrafik configura el entorno como parte del proyecto (Capítulo 06).
Continuidad del servicio La plataforma está en uso activo por colegios reales. Toda intervención se ejecuta sin interrumpir la operación: los cambios se prueban en un entorno espejo antes de aplicarse en producción, y se acuerdan ventanas de mantenimiento con la editorial.
Garantía de calidad Todos los módulos se entregan con tests automatizados documentados. Bugs reportados en los primeros 60 días post-entrega se corrigen sin costo adicional.
Protección de datos de menores Tratamiento conforme a la Ley 1581 de 2012 (habeas data): datos mínimos, consentimiento del acudiente, sin publicidad ni terceros, comunicación siempre mediada por el docente.
Confidencialidad DevGrafik mantiene absoluta confidencialidad sobre el contenido, datos de usuarios y lógica de negocio de la editorial durante y después del proyecto.
Vigencia de la propuesta Precios y condiciones válidos por 30 días calendario desde el 11 de septiembre de 2026.

8.3 · Lo que no incluye el precio
✗Costos mensuales de infraestructura (hosting, bases de datos, CDN)
✗App móvil nativa de tiendas — propuesta separada; la versión web responsiva cubre el uso móvil
✗Producción editorial de contenido nuevo: ilustración, locución y redacción pedagógica los aporta el equipo de la editorial, que con la herramienta de autoría los publica sin intermediarios
✗Impresión de etiquetas/stickers de códigos (la plataforma los entrega listos para la imprenta)
✗Videoconferencia integrada y chat entre estudiantes (decisión de producto)
✗Campañas de adopción y acompañamiento presencial en colegios
✗Licencias de software premium de terceros si el cliente las elige
09 · Aceptación

Aprobación de la propuesta

La firma de ambas partes constituye la aceptación formal del alcance, precios y condiciones descritos en este documento, indicando la opción elegida: Correcciones, Actualización + autoría o LMS nuevo.

Contrato de aceptación — Propuesta N° DG-LMS-2026-003

Fecha de emisión: 11 de septiembre de 2026 · Válida 30 días · LMS: opción ______ · Contenidos: ______ libros

Por parte de DevGrafik — Proveedor

Firma representante legal
Nombre completo
NIT / Cédula
Día
Mes
Año

Por parte de Editorial Encuentro — Cliente

Firma representante legal
Nombre completo
NIT empresa
Día
Mes
Año
Propuesta N° DG-LMS-2026-003 · DevGrafik · contacto@devgrafik.com · www.devgrafik.com
Stack: Next.js 15 + NestJS + TypeORM + PostgreSQL + Redis · Nx Monorepo · TypeScript end-to-end
La firma de ambas partes convierte este documento en acuerdo de inicio de proyecto.