01 — Visión y alcance
Visión
Sistema de gestión académica para colegios de Ecuador: el núcleo administrativo-académico del colegio (matrícula, asistencia, calificaciones oficiales, conducta, pagos, comunicados, horarios). No es un LMS — el aula virtual es Moodle, con el que nos integramos.
Se descartó explícitamente la abstracción hacia universidades: el dominio se modela colegio Ecuador puro. Un eventual producto universitario será un fork que reescriba lo que necesite.
Modelo de negocio y despliegue
- Un fork del proyecto por colegio, con divergencia de código permitida (forks libres). Cada colegio corre su propia instancia dockerizada en su propio VPS gestionado con Dokploy, con su propia base de datos.
- No hay multi-tenancy: la personalización vive en configuración (BD + env) y assets. Convención de mitigación: las personalizaciones de un fork deben vivir en módulos/overrides separados del core, para poder traer fixes del repo base cuando convenga.
- Primer cliente: colegio real mediano/grande (500+ alumnos). Sin presión de fecha: prioridad calidad.
Usuarios y plataformas
| Plataforma | Usuarios | Naturaleza |
|---|---|---|
| Panel web (SPA) | Staff: admin, coordinación, secretaría, inspección, DECE, docentes | Toda la captura y gestión |
| App Flutter (white-label por colegio) | Padres/representantes y alumnos | Solo consulta (read-only) |
La app móvil es un canal de información: notas, asistencia, estado de cuenta, comunicados, horarios y enlaces a Moodle. Las únicas escrituras permitidas desde la app son técnicas: login/refresh, cambio de contraseña y registro de token FCM. Toda mutación de dominio ocurre en el panel web.
White-label: un solo codebase Flutter con flavors; cada colegio = un archivo de configuración (nombre, ícono, colores, URL del servidor) y el CI genera su binario. Costo por colegio: cuenta Google Play (~$25 única) y Apple Developer (~$99/año) + review de stores por actualización — cotizarlo al colegio.
Alcance del MVP (en orden de construcción)
- Configuración del colegio, año lectivo y estructura académica (niveles, grados, paralelos, materias, asignación docente).
- Matrícula con importación por Excel (adopción rápida) e importación de histórico básico (promedios finales de años previos).
- Asistencia (control por inspección/docentes, justificaciones).
- Calificaciones, cierre de períodos, supletorios y boletas PDF (generadas en cola).
- Conducta y seguimiento: observaciones, comportamiento A–E, citaciones a representantes.
- Pagos: rubros, registro manual, estado de cuenta, carga por Excel, API de integración. Sin pasarela de pago.
- Comunicados con push FCM + email transaccional.
- Horarios: grilla manual con validación de choques (docente/aula/paralelo). Sin generación automática.
- Integración Moodle (aprovisionamiento, gradebook, enlaces profundos).
- App Flutter de consulta.
Fuera de alcance (MVP)
- Pasarela de pagos en línea (queda la API prevista).
- Generación automática de horarios.
- Módulo de tareas/materiales propio (lo cubre Moodle).
- SSO con Moodle (credenciales separadas; se generan juntas al matricular).
- WhatsApp como canal (previsto para después).
- Multi-tenancy y universidades.
Requisito transversal: LOPDP
Ley Orgánica de Protección de Datos Personales (Ecuador) con datos de menores: consentimiento del representante, minimización de datos, cifrado en tránsito y reposo, auditoría de accesos, logs sin datos sensibles (ver estándares de logging), y nunca datos reales en entornos de prueba.