fullstackchris.dev
Proyectos / EduMation
CASO DE ESTUDIO · PLATAFORMA EMPRESARIAL

EduMation

EduMation es una plataforma de gestión educativa lista para empresas centrada en resolver desafíos complejos de programación y administración mediante la automatización. La plataforma centraliza la gestión de estudiantes, profesores y cursos dentro de una arquitectura multi-tenant, mientras que su función principal — un motor de programación inteligente que tiene en cuenta las restricciones — automatiza la generación de horarios semanales integrando requisitos internos con la disponibilidad de calendarios externos (Google, Microsoft, ICS).

reactnodejsdocker
Rol
Solo · full-stack
Duración
2023 · 14 semanas
Plataforma
Web · SaaS
Tipo
Plataforma empresarial
edumation.app
EduMation screenshot
EL PROBLEMA

Las instituciones educativas se enfrentan a una 'pesadilla de programación': coordinar manualmente a docenas de profesores, grupos de estudiantes y cursos en franjas horarias limitadas mientras se evitan conflictos con compromisos personales externos.

Construido para organizaciones de formación profesional que gestionan múltiples escuelas, programas y cohortes de estudiantes. La plataforma necesitaba manejar programación compleja basada en restricciones (disponibilidad de profesores, capacidad de aulas, dependencias entre cursos) a gran escala, garantizando al mismo tiempo un aislamiento estricto de datos entre instituciones.

  • La programación manual es brutal. Coordinar a docenas de profesores y cursos a mano lleva días y es propenso a errores.
  • Un cambio rompe todo. Un solo conflicto de profesor desencadena docenas de reasignaciones en todo el semestre.
  • No existe ninguna herramienta para este nicho. El software de programación genérico no puede manejar restricciones específicas del dominio educativo.

Organizaciones de formación y coordinadores

Organizaciones de formación profesional que gestionan múltiples escuelas, programas y cohortes de estudiantes a la vez

14d→5min
tiempo de programación
100%
sin conflictos
90%
menos trabajo administrativo
LA SOLUCIÓN

de semanas a minutos.

Una stack MERN (MongoDB, Express, React, Node) modular con TypeScript para una seguridad de tipos estricta. El frontend React sigue un Design System interno a medida, mientras que el backend Node.js implementa un servicio de programación basado en heurísticas. Los datos de cada institución se aíslan mediante una capa de filtrado basada en schoolId, y la disponibilidad externa se cachea con un índice TTL de 180 días para verificaciones de conflicto en O(1).

01

Importar

Cargar profesores, grupos de estudiantes, aulas y restricciones.

02

Generar

El solucionador heurístico propone 3 horarios sin conflictos.

03

Refinar

Los coordinadores ajustan y validan en la interfaz de arrastrar y soltar.

04

Publicar

Calendario en vivo sincronizado con todos los profesores y estudiantes.

Antes
flujo de trabajo manual
herramientas fragmentadas · alta carga manual
Después
edumation.app
producto único unificado · rápido y automatizado
FUNCIONALIDADES CLAVE

Construido en torno a cómo trabaja realmente organizaciones de formación y coordinadores.

FEATURE 01

Motor de programación con IA

Un solucionador heurístico que procesa restricciones estrictas (disponibilidad de profesores, capacidad de aulas) y blandas (descansos, preferencias) para generar propuestas sin conflictos en menos de 5 minutos.

  • Genera 3 propuestas distintas usando aleatorización basada en semillas
  • Gestiona horarios multi-cohorte complejos en segundos
motor-de
Motor de programación con IA
FEATURE 02

Sincronización de calendario en tiempo real

Una sincronización OAuth2 bidireccional con Google Calendar y Microsoft Graph garantiza que los compromisos personales de los profesores siempre estén reflejados, sin paso de importación manual.

  • Cacheo TTL de 180 días para verificaciones de conflicto en O(1)
  • Un worker de sincronización en segundo plano gestiona los límites de tasa con elegancia
sincronización-de
Sincronización de calendario en tiempo real
FEATURE 03

Arquitectura multi-tenant

El aislamiento estricto de datos impuesto en la capa de middleware garantiza que una institución nunca vea los datos de otra, incluso en infraestructura compartida.

  • Filtrado basado en schoolId en cada consulta de base de datos
  • Control de acceso basado en roles por institución y rol
arquitectura-multi-tenant
Arquitectura multi-tenant
DESAFÍO TÉCNICO

Problemas difíciles resueltos.

El programador usa una heurística voraz que ordena los cursos por su 'grado de restricción' (el más restringido primero). Calcula las franjas inválidas indexando eventos internos e intervalos ocupados externos cacheados. Un sistema de aleatorización basado en semillas genera tres propuestas distintas para los administradores, mientras que un worker de sincronización dedicado gestiona las integraciones basadas en OAuth2 con proveedores de calendario externos.

Qué lo hizo difícil

  • Resolver el problema de programación NP-difícil sopesando múltiples restricciones blandas y estrictas como descansos para comer, horarios laborales y preferencias de los profesores.
  • Garantizar un aislamiento estricto de datos multi-tenant mediante filtrado a nivel de middleware para todas las consultas de base de datos en la infraestructura compartida.
  • Gestionar sincronizaciones de calendarios externos de alta latencia (Google, Microsoft Graph, ICS) sin bloquear los flujos principales de la aplicación ni superar los límites de tasa de los proveedores.
  • Construir una interfaz de horario interactiva de alto rendimiento capaz de renderizar cientos de eventos dinámicos con tiempos de respuesta inferiores a 100 ms para las ediciones.
architecture.ts
1 const frontend = [ "React", "TypeScript", "Design System a medida" ];
2 const backend = [ "Node.js", "Express", "MongoDB" ];
3 const integraciones = [ "API de Google Calendar", "Microsoft Graph", "ICS" ];
4 const devops = [ "Docker", "CI/CD", "Redis" ];
EL STACK

Tecnologías utilizadas.

Frontend
ReactTypeScriptDesign System a medida
Backend
Node.jsExpressMongoDB
Integraciones
API de Google CalendarMicrosoft GraphICS
DevOps
DockerCI/CDRedis
LO QUE ESTO DEMUESTRA

Lo que EduMation demuestra.

Resolución de problemas con IA

Diseñado y entregado un solucionador heurístico en producción para un problema de programación NP-difícil.

Seguridad multi-tenant

Construido aislamiento de datos a nivel de fila en una base de datos SaaS compartida sin ninguna contaminación cruzada entre tenants.

UI de alto rendimiento

Renderizados cientos de eventos de calendario dinámicos con tiempos de respuesta interactivos inferiores a 100 ms.

Integraciones con terceros

Entregadas y mantenidas sincronizaciones OAuth2 en vivo con Google Calendar y Microsoft Graph.

TRABAJEMOS JUNTOS

¿Quieres construir algo así?

Tráeme tu idea o proyecto a medio construir. Lo defino, lo diseño y lo entrego — usando el mismo flujo de trabajo detrás de EduMation.

Siguiente caso de estudio RailGuessr