Agenda UC
URL: www.uc.cl/agenda
TL;DR
El proyecto Agenda UC.CL es una API renovada y un sitio central que agrupa las actividades y eventos de la Universidad Católica de Chile. Mi contribución incluyó el apoyo en el desarrollo del modelo de datos, la implementación del frontend y una mejora en la presentación de información compleja.
Descripción
El proyecto Agenda UC.CL representa una versión mejorada y actualizada de la API de la Agenda UC. Consiste en una API diseñada para servir a toda la universidad y un sitio central que actúa como vitrina para todas las actividades y eventos de la comunidad universitaria.
El proyecto Agenda UC.CL se ha consolidado como un sistema eficiente y robusto para gestionar las actividades y eventos de la universidad.
Mi aporte
Colaboré en la definición del modelo de datos implementado en la API, conceptualizando la estructura de datos y la forma en que se almacenan y exhiben las actividades y eventos (que son conjuntos de actividades). Fui responsable de la implementación del sitio en uc.cl/agenda, desarrollando el frontend y todas las vistas, consumiendo el Kit Digital UC y creando componentes personalizados para mejorar la experiencia del usuario.
Desafíos del proyecto
Trabajar con fechas ha sido un desafío significativo; sortear cambios de huso horario y mantener la consistencia entre el frontend y el backend ha requerido atención constante. También enfrentamos la necesidad de replantear cómo se presenta la información de ciertas actividades. En un caso donde una actividad tiene demasiadas fechas, la versión original mostraba estas en un componente de acordeón. Propuse una nueva forma de presentar la información, que consiste en un componente con dos vistas: un calendario (para desktop) y una lista agrupada (para mobile y desktop). Aún estamos trabajando en cerrar la nueva implementación, ya que falta pasar por diseño para asegurar su correspondencia con el Kit Digital UC, considerando que fue creado priorizando la usabilidad. Sin embargo, considero que es una mejora sustancial respecto a la solución anterior.
Se puede observar cómo está el componente actualmente:
Componente Actual
Y aquí se puede ver mi propuesta en QA:
Propuesta en QA
Stack Tecnológico
- Backend (API):
- Node.js (Strapi Headless CMS) para la gestión de contenidos.
- MySQL como base de datos.
- Frontend:
- React (Next.js) para el desarrollo del sitio.
- Kit Digital UC (integrado vía NPM) para mantener la consistencia visual.
- Despliegue del Frontend:
- Vercel para la infraestructura de despliegue y hosting.