Sobre el proyecto

CokieCollege es una solución integral multiplataforma orientada a la gestión académica, disciplinaria y administrativa de instituciones educativas. Su objetivo es facilitar la interacción en tiempo real entre administradores, coordinadores de nivel, docentes, estudiantes y personal de cafetín mediante aplicaciones web y móviles. Arquitectura El sistema se organiza en módulos desacoplados. El backend es una API REST en Node.js con Express 5.x que gestiona la lógica de negocio, seguridad con Helmet, limitación de peticiones, compresión GZIP, autenticación administrativa con Supabase y notificaciones push mediante Expo Server SDK. La app móvil está desarrollada con Expo 54, Expo Router e i18next (español e inglés), con diseño adaptable en modo claro y oscuro. El portal web usa React con Vite para monitoreo y administración institucional. También incluye una carpeta de prototipos visuales y recursos de diseño. La base de datos es Supabase PostgreSQL, con políticas de Row Level Security, autenticación, almacenamiento y disparadores. Funcionalidades por rol El módulo de estudiantes ofrece diario pedagógico con monitoreo de asistencias y un semáforo de conducta de cuatro colores, consola de calificaciones con desglose porcentual por actividades, solicitud de justificaciones con adjuntos en Supabase Storage y pre-pedido de almuerzos con generación de código QR para retiro y pago. El módulo de docentes permite el ingreso e histórico de notas con validación de 0.00 a 10.00 y cuenta regresiva por periodo, tickets de extensión de plazo al coordinador y toma de asistencia en vivo por clase y materia. El módulo de coordinadores y administradores incluye gestión de usuarios con filtrado por rol y paginación, aprobación de justificaciones con revisión de evidencias, difusión de avisos y eventos institucionales por nivel educativo, y asignación de horarios, secciones, aulas y carga académica. El módulo de cafetín permite publicar el menú diario, gestionar pedidos con estados (ordenado, preparado, entregado) y escanear códigos QR para confirmar la entrega de almuerzos. Puesta en marcha Requiere Node.js 18 o superior, Expo CLI y una cuenta de Supabase. Se ejecuta un script SQL en el editor de Supabase para inicializar tablas, tipos enumerados, funciones, vistas y políticas RLS. Después se instala y arranca el backend configurando un archivo .env, y se inicia la app móvil con Expo. La compilación móvil y las actualizaciones OTA se realizan con EAS. Seguridad y rendimiento El proyecto habilita Row Level Security en las tablas de Supabase, aplica protección HTTP con helmet, express-rate-limit y compresión GZIP, e incluye índices de base de datos para optimizar consultas pesadas. Cuenta con soporte de internacionalización para español e inglés.