Una notificación parece sencilla. Hasta que debe llegar a la persona correcta, desde el área correcta y en el momento correcto.
Este repositorio documenta la evolución técnica, las decisiones de desarrollo y los aprendizajes obtenidos durante la construcción de UniAvisos, una aplicación Android oficial orientada a mejorar la distribución de avisos universitarios.
Por tratarse de un proyecto institucional, esta publicación no contiene código fuente, configuraciones internas, credenciales, capturas no autorizadas ni información operativa sensible.
El objetivo es presentar el proceso de análisis, desarrollo, pruebas, optimización y planificación sin comprometer la confidencialidad del sistema.
La comunicación universitaria puede fragmentarse entre diferentes canales, publicaciones y áreas responsables.
UniAvisos busca centralizar esta información mediante una aplicación móvil capaz de:
- Organizar avisos por áreas
- Mostrar información actualizada
- Permitir preferencias de suscripción
- Enviar notificaciones relevantes
- Facilitar el acceso a los canales oficiales
- Reducir la dependencia de búsquedas manuales en múltiples plataformas
Durante el desarrollo he trabajado en:
- Análisis de necesidades y requerimientos
- Diseño de flujos de navegación
- Desarrollo Android con Kotlin
- Construcción de interfaces con Jetpack Compose
- Integración con servicios de datos en la nube
- Manejo de contenido dinámico
- Suscripciones por categorías
- Navegación desde notificaciones
- Persistencia de preferencias locales
- Herramientas internas de administración para pruebas
- Optimización de consultas y listeners
- Pruebas en dispositivos Android reales
- Diagnóstico mediante Logcat
- Planeación de escalabilidad
- Documentación técnica y funcional
- Kotlin
- Jetpack Compose
- Android Studio
- Firebase Firestore
- Firebase Cloud Messaging
- SharedPreferences
- Git
- Logcat
Los identificadores, archivos de configuración, reglas de seguridad y estructuras internas del proyecto no forman parte de esta publicación.
El repositorio no contiene el código del sistema. Contiene las decisiones que explican cómo evolucionó.
La documentación pública se encuentra organizada en los siguientes apartados:
Recorrido desde la primera versión Alpha hasta la Beta 4.3 actual, incluyendo:
- Validación inicial del concepto
- Identidad institucional
- Reorganización interna
- Migración de datos locales a servicios remotos
- Avisos y personalización
- Panel administrativo provisional
- Pruebas de extremo a extremo
- Escalabilidad y optimización
Explicación conceptual de:
- Arquitectura local inicial
- Transición hacia una arquitectura conectada
- Separación entre información global y preferencias locales
- Componentes de la aplicación
- Modelo de servicio institucional
- Flujo de publicación de avisos
- Panel administrativo
- Escalabilidad
- Seguridad
- Estrategia de pruebas
- Arquitectura objetivo
Análisis de los principales problemas encontrados durante el desarrollo:
- Migración desde datos locales
- Contenido dinámico
- Navegación desde notificaciones
- Preferencias por dispositivo
- Administración provisional
- Listeners innecesarios
- Consistencia de contadores
- Operaciones coordinadas
- Costos de infraestructura
- Pruebas en dispositivos reales
Plan de evolución propuesto:
Beta 4.3 → Escalabilidad
Beta 4.4 → Experiencia visual
Beta 4.5 → Persistencia y sincronización
Versión 5.0 → Seguridad y producción
Define los límites de esta publicación y el material que permanece protegido:
- Código fuente
- Configuraciones
- Infraestructura
- Datos institucionales
- Operaciones administrativas
- Capturas no autorizadas
[ PROJECT STATUS ]
Current version: Beta 4.3
Current focus: Scalability and listener optimization
Source code: Restricted
Official screenshots: Pending authorization
Repository type: Public technical case study
La Beta 4.3 se encuentra enfocada en reducir operaciones remotas innecesarias, mantener consistencia entre avisos e indicadores y preparar el sistema para una estrategia posterior de almacenamiento local y sincronización inteligente.
Las capturas oficiales permanecen pendientes de autorización institucional.
Hasta contar con una aprobación expresa, este repositorio no mostrará pantallas reales, paneles administrativos ni recursos gráficos oficiales.
Cuando se autorice su publicación, las imágenes deberán:
- Mostrar únicamente pantallas aprobadas
- No contener datos personales
- No exponer configuraciones
- No mostrar herramientas restringidas
- Ser revisadas antes de incorporarse al repositorio
[ VISUAL EVIDENCE ]
Authorization: Pending
Publication status: Restricted
Next review: Institutional approval
Se definieron las primeras pantallas, categorías de información y rutas principales de navegación.
La administración de áreas evolucionó hacia una estructura dinámica, permitiendo modificar contenido sin depender de valores completamente fijos dentro de la aplicación.
Se incorporaron avisos en tiempo real, preferencias de usuario, suscripciones y funciones de personalización local.
Se desarrollaron herramientas internas para administrar contenido durante las pruebas y validar el flujo completo del sistema.
El trabajo se enfocó en escalabilidad, reducción de consultas innecesarias y actualización eficiente de información relacionada con avisos.
La evolución detallada puede consultarse en:
Uno de los retos detectados fue que algunas pantallas podían mantener operaciones activas para categorías que el usuario no había seleccionado.
La solución consistió en reorganizar la lógica para procesar únicamente la información necesaria según las preferencias del usuario.
Esto permitió:
- Reducir operaciones innecesarias
- Mejorar el control del ciclo de vida
- Preparar la aplicación para crecer
- Mantener una experiencia más eficiente
No se publican fragmentos de código ni detalles internos de implementación.
La aplicación puede representarse de forma general así:
Usuario
│
▼
Aplicación Android
│
├── Navegación e interfaz
├── Preferencias locales
├── Suscripciones
└── Gestión de avisos
│
▼
Servicios de datos y notificaciones
│
▼
Contenido administrado por áreas autorizadas
La explicación completa se encuentra en:
Las capturas oficiales se encuentran pendientes de autorización institucional.
Hasta recibir autorización expresa, este repositorio permanecerá sin imágenes reales de la aplicación.
Cuando sean aprobadas, únicamente se publicarán capturas:
- Autorizadas
- Sin datos personales
- Sin información interna
- Sin paneles restringidos
- Sin identificadores o configuraciones visibles
- Revisadas antes de su publicación
- Mejoras visuales y de experiencia
- Almacenamiento local estructurado
- Sincronización inteligente
- Autenticación
- Gestión de roles
- Reglas de seguridad para producción
- Reducción adicional de operaciones remotas
- Mejor control de estados y errores
Consulta el roadmap en:
Este caso de estudio no contiene:
- Código fuente
- Archivos APK
- Credenciales
- Tokens
- Configuraciones de servicios
- Identificadores internos
- Reglas de seguridad
- Datos de usuarios
- Información administrativa
- Capturas no autorizadas
- Documentación institucional restringida
Consulta la política de publicación en:
No todos los sistemas necesitan mostrar su código para demostrar su evolución.
A veces las decisiones cuentan mejor la historia que los archivos.
edHash