2026-08-29 01:05:15 -03:00
2026-08-29 01:05:15 -03:00
2026-08-29 01:05:15 -03:00

Aulas UNICABA 🎓📱

Version Angular Ionic Capacitor License

Un ecosistema móvil híbrido, especializado y offline-first desarrollado para la comunidad académica de la Universidad de la Ciudad (UNICABA). Centraliza la cartelera oficial de horarios y aulas, el seguimiento de la carrera académica, la agenda de exámenes, la integración con SIU Guaraní y Campus Virtual Moodle, la Credencial Digital QR y el acceso a beneficios estudiantiles.


✨ Características Principales (v1.2.3)

📋 Cartelera de Horarios y Aulas

  • Visualización organizada: consulta de la cartelera oficial de horarios por día de la semana (Lunes a Sábado).
  • Modo offline-first: la cartelera se almacena en caché local y se encuentra disponible instantáneamente sin requerir conexión a internet.
  • Búsqueda fuzzy en tiempo real: motor de búsqueda tolerante a errores ortográficos por nombre de materia, código oficial, número de aula o carrera.
  • Segmentos de visualización: alternancia rápida entre Favoritos, Cartelera completa y Mi Carrera.
  • Acceso directo a Aulas Virtuales: botón integrado para ingresar a clases remotas en Zoom o Google Meet.
  • Compartir horario: exportación nativa de los datos de cursada a WhatsApp, Telegram y otras aplicaciones del sistema (@capacitor/share).
  • Sincronización en background: actualización periódica y desatendida delegada al sistema operativo mediante Background Fetch.

⭐ Favoritos Inteligentes & Respaldo Resiliente

  • Diferenciación precisa de Equipos/Comisiones (Nuevo en v1.2.3): al sincronizar con SIU Guaraní o seleccionar manualmente, el sistema identifica y marca únicamente el equipo o comisión asignado (ej: Equipo 1 vs Equipo 2), evitando duplicados cuando las materias comparten el mismo código ASIG.
  • Persistencia anti-wipes: los favoritos y datos se respaldan automáticamente en un archivo aulas_unicaba_datos.csv ubicado en la carpeta pública "Documentos" del dispositivo, sobreviviendo a desinstalaciones y actualizaciones según las políticas Storage Scoped de Android 11+.
  • Alertas automáticas de cambio de aula: detección en segundo plano de modificaciones en aulas o links virtuales con emisión de notificaciones push locales inmediatas.
  • Gestor de respaldo y restauración: exportación manual y restauración desde archivos CSV almacenados en el dispositivo o la nube (Google Drive, iCloud, Descargas).

🎓 Banner "Próxima Clase" con Cuenta Regresiva

  • Detección inteligente: identifica automáticamente la materia favorita con cursada más próxima en el tiempo (hoy o mañana) filtrada por tu equipo específico.
  • Chip dinámico de cuenta regresiva actualizado minuto a minuto:
    • 🔵 Azul: más de 2 horas para el inicio.
    • 🟡 Amarillo: entre 30 minutos y 2 horas.
    • 🔴 Rojo con animación de pulso: menos de 30 minutos.
  • Acceso directo al detalle y agenda de la materia al tocar el banner.

🔔 Recordatorios Pre-Clase Automáticos

  • Notificaciones locales 30 min antes: cada sincronización de cartelera programa alertas 30 minutos antes del inicio de cada materia favorita del día.
  • Identificadores estables: previene notificaciones duplicadas en sincronizaciones sucesivas.
  • Operatividad 100% offline: funciona localmente en el dispositivo sin depender de servidores de notificaciones externos.

📅 Agenda de Hitos, Exámenes y Google Calendar

  • Registro de fechas clave: gestión de Parciales (1 y 2), Trabajos Prácticos (TP 1, 2 y 3), Recuperatorios y Finales directamente desde la tarjeta de cada materia.
  • Insignias de proximidad: badges visuales en la cartelera con código de color según la cercanía del examen o entrega.
  • Integración con Google Calendar: sincronización nativa directa del hito con la app de calendario del dispositivo mediante un solo toque (@ebarooni/capacitor-calendar).

🗺️ Mi Carrera (Plan de Estudios y Recorrido Interactivo)

  • Grilla cuatrimestral interactiva: seguimiento visual del progreso de la carrera para:
    • Licenciatura en Tecnologías Digitales
    • Licenciatura en Ciencia de Datos
    • Licenciatura en Desarrollo de Videojuegos
  • Estados de materias: marcación rápida de materias como Aprobadas (fucsia) o En Curso (celeste).
  • Materias optativas: selección dinámica de asignaturas optativas para completar el trayecto académico.
  • Sincronización con SIU Guaraní: visualización de notas oficiales y estados de cursada reflejados directamente sobre las celdas del plan de estudios.

🏫 Integración con SIU Guaraní

  • Autenticación directa y segura: conexión HTTPS oficial (https://autogestion.udelaciudad.edu.ar/caba) con certificados SSL válidos emitidos por Sectigo CA, eliminando errores de validación de cadena.
  • Extracción de Cursadas Activas: lectura directa de las inscripciones del período lectivo y asignaciones estructuradas (comisión, día, horario y aula).
  • Sincronización de historia académica: importación automática de materias aprobadas, cursadas regulares y calificaciones oficiales.
  • Certificado de Alumno Regular: solicitud y descarga automatizada del certificado oficial en formato PDF con apertura nativa en el dispositivo (@capacitor-community/file-opener).

🪪 Credencial Digital Universitaria & Perfil Moodle

  • Perfil unificado: inicio de sesión con el Campus Virtual Moodle para extraer automáticamente el nombre del estudiante y la fotografía oficial de perfil institucional.
  • Código QR 30% más grande y nítido (Nuevo en v1.2.3): diseño optimizado para ocupar todo el ancho disponible del celular, con renderizado PDF a escala 3.0 en alta definición para un escaneo instantáneo en molinetes de acceso.
  • Caché permanente: credencial disponible en todo momento sin requerir conexión a internet.
  • Brillo automático: ajuste temporal de la pantalla al 100% de brillo al abrir la credencial para facilitar la lectura del código QR (@capacitor-community/screen-brightness).

🎁 Comunidad de Beneficios UdelaCiudad

  • Descuentos exclusivos en comercios y servicios:
    • 🏋️‍♂️ ON FIT: 25% de descuento en membresía mensual con acceso a las 20 sedes en todo el AMBA (máquinas Technogym, plan personalizado, clases grupales y lockers).
    • ☕ BERESHIT (Cafetería): 10% de descuento en productos (Tte. Gral. Perón 893, CABA).
    • 🍫 Café & Chocolate: 10% de descuento en cafetería y delicatessen (Bartolomé Mitre 807, CABA).
    • 🍝 Al Buen Tallarín de Pablo: 10% de descuento en fábrica de pastas artesanales (Tucumán 1596, CABA).
    • 📚 Atlas Comercial (Librería): 10% de descuento en productos de librería y papelería (Bartolomé Mitre 839, CABA).
    • 🧘 Fluire Studio (Pilates): 10% de descuento abonando 1 mes y 20% abonando 4 meses (Esmeralda 135, piso 4 B, CABA).
    • 🚌 SOY Estudiante (Transporte): instructivo para obtener descuentos en pasajes de micros de larga distancia con tu Certificado de Alumno Regular.

📖 Manual de Usuario y Centro de Ayuda

  • Guía interactiva integrada: sección accesible desde el encabezado con instrucciones paso a paso para el uso de la cartelera, seguimiento de carrera, agenda y respaldos.

📍 Integración Nativa con Mapas

  • Acceso a sede: botón flotante interactivo en el pie de página con la dirección de la sede institucional (Tte. Gral. J.D. Perón 802, CABA).
  • Compatibilidad multiplataforma: apertura mediante esquemas nativos (geo: en Android y maps:// en iOS) que permiten elegir entre Google Maps, Waze y Apple Maps.

🛠️ Tecnologías y Arquitectura

Componente Tecnología Versión
Frontend Framework Angular 20.3.x
Componentes UI Ionic Framework v8.0.x
Runtime Nativo Capacitor v8.2.0
Procesamiento PDF PDF.js 5.5.x
Iconografía Ionicons 7.0.x

Plugins de Capacitor

Plugin Finalidad
@capacitor/filesystem Lectura y escritura de respaldos CSV en la carpeta pública "Documentos".
@capawesome/capacitor-file-picker Selector de archivos para importación manual de respaldos.
@capacitor/local-notifications Notificaciones locales de cambios de aula y recordatorios pre-clase.
@capacitor/preferences Almacenamiento seguro en clave-valor para credenciales, caché y estados.
@transistorsoft/capacitor-background-fetch Tareas en segundo plano para sincronización automática de cartelera.
@capacitor-community/screen-brightness Maximización automática del brillo para escaneo del QR.
@capacitor-community/file-opener Apertura nativa del Certificado de Alumno Regular en PDF.
@ebarooni/capacitor-calendar Exportación e inserción de hitos y exámenes en el calendario nativo.
@capacitor/haptics Respuesta háptica en interacciones táctiles clave.
@capacitor/share Diálogo nativo para compartir horarios por mensajería.
@capacitor/network Monitorización del estado de conectividad a internet.
@capacitor/clipboard Utilidades de portapapeles.

🔒 Privacidad Zero-Trust (Cero Intermediarios)

  1. Conexiones directas punto a punto: todas las solicitudes HTTP (Google Sheets, Campus Moodle y SIU Guaraní) son emitidas directamente desde el dispositivo del usuario mediante CapacitorHttp, resolviendo restricciones CORS sin recurrir a servidores proxy intermedios.
  2. Cero telemetría: la aplicación no utiliza Google Analytics, SDKs de publicidad ni herramientas de rastreo.
  3. Almacenamiento local seguro: las credenciales y datos personales permanecen exclusivamente en el almacenamiento interno cifrado del teléfono del usuario.

📱 Compilación y Despliegue

Requisitos Previos

  • Node.js: v18 o superior.
  • NPM: v9 o superior.
  • Android: Android Studio con SDK 34+ y JDK 17+.
  • iOS: macOS con Xcode 15+ y CocoaPods.

🤖 Android

# 1. Instalar dependencias
npm install

# 2. Compilar bundle web
npm run build

# 3. Sincronizar puente de Capacitor
npx cap sync android

# 4. Abrir en Android Studio para generar APK/AAB o ejecutar en dispositivo
npx cap open android

🍏 iOS

# 1. Instalar dependencias y compilar
npm install
npm run build

# 2. Agregar plataforma iOS (solo la primera vez)
npx cap add ios

# 3. Sincronizar plugins y actualizar Pods
npx cap sync ios

# 4. Abrir en Xcode
npx cap open ios

Nota para iOS: Asegurarse de habilitar las capacidades de Background Modes (Background Fetch) y Local Notifications en la pestaña Signing & Capabilities de Xcode.


📄 Licencia

Este proyecto se encuentra bajo la licencia MIT. Desarrollado con fines educativos y de soporte a la comunidad estudiantil de la Universidad de la Ciudad.

S
Description
No description provided
Readme
3.1 MiB
Languages
TypeScript 63.9%
HTML 20.4%
SCSS 14.4%
JavaScript 0.7%
Java 0.6%