Saltar a contenido

06 — Plan de fases y backlog

Sin presión de fecha: cada fase termina con tests en verde (TDD), smoke visual, y demo utilizable. El orden respeta las dependencias del modelo de datos.

F0 — Fundaciones

  • Monorepo (pnpm workspaces): apps/core, apps/bff, apps/web, apps/mobile (después), packages/contracts (DTOs/zod compartidos).
  • Esqueleto NestJS core (vertical slice, Prisma, Testcontainers) + BFF + SPA Vite/React/MUI.
  • Logger helper (pino, masking, correlationId/AsyncLocalStorage) — antes que cualquier feature.
  • Auth completa: login, refresh (cookies web / JWT móvil), contraseña temporal + cambio obligatorio, roles/guards.
  • pg-boss + tabla outbox + worker base. UUID v7. CI GitHub Actions + compose dev + deploy a staging Dokploy.
  • Criterio de salida: login real en staging, pipeline verde, un job de cola de prueba procesándose.

F1 — Núcleo académico

  • Configuración de colegio (régimen, timezone, escalas y umbrales configurables), año lectivo con estados, períodos/parciales, niveles/grados, paralelos, materias, asignación docente.
  • Criterio: coordinación puede montar la estructura completa de un año lectivo real.

F2 — Personas y matrícula

  • Alumnos, representantes (N:M), staff; generación de credenciales.
  • Matrícula con estados (retiro/traslado), ficha ecuatoriana.
  • Importación Excel de matrícula + histórico básico, con reporte de errores por fila.
  • Criterio: los 500+ alumnos del colegio importados en staging desde su Excel real (anonimizado).

F3 — Asistencia

  • Registro por inspección/docentes, justificaciones con adjunto, alertas por outbox.
  • Criterio: toma de asistencia de un paralelo completo en <1 min; listados paginados con volumen real.

F4 — Evaluación

  • Calificaciones por parcial, promedios, cualitativos; comportamiento A–E.
  • Cierre de período con congelamiento + flujo de rectificación autorizada + audit log.
  • Supletorios/remediales/gracia. Boletas PDF en cola.
  • Criterio: ciclo completo de un período con boletas generadas para todos los alumnos sin degradar el sistema.

F5 — Conducta y seguimiento

  • Observaciones con visibilidades (interna/representante/DECE), citaciones y acuerdos.

F6 — Pagos

  • Rubros, obligaciones, registro manual, recibos, estado de cuenta consolidado por representante, Excel, API de integración con API keys.

F7 — Comunicados y horarios

  • Comunicados con adjuntos + email transaccional (dominio verificado) + registro de entrega.
  • Grilla manual de horarios con validación de choques.

F8 — Integración Moodle

  • Mapeo uuid↔moodle_id, aprovisionamiento idempotente de usuarios/cursos/enrolments, lectura de gradebook con volcado confirmado por docente, enlaces profundos.

F9 — App Flutter (solo consulta)

  • Flavors white-label, login + FCM, vistas: notas, asistencia, estado de cuenta, comunicados, horarios, enlaces Moodle. Cache local para mala conectividad.

F10 — Endurecimiento y puesta en producción

  • Checklist LOPDP, auditoría de accesos, revisión EXPLAIN de todos los listados, restore drill, carga simulada (picos de notas), documentación de operación y manual de usuario por rol, capacitación al staff.

Riesgos principales

Riesgo Mitigación
Reglas ministeriales desactualizadas en nuestro modelo Todo umbral/escala/período configurable; validar con el colegio en F1/F4
Adopción del staff Excel como puerta de entrada, staging para práctica, capacitación en F10
Divergencia de forks Convención de overrides + FORK_NOTES.md
Moodle ajeno (versiones, permisos) Adapter aislado, idempotencia, mapeo persistido; degradar con gracia si Moodle no responde
Pérdida de datos Outbox transaccional, backups con restore drill, snapshots de cierre permanentes