
AgendaUN
Plataforma web moderna que centraliza eventos y horarios académicos de la Universidad Nacional de Colombia, con calendarios, horarios recurrentes y control de permisos por facultad y programa.
AgendaUN es una aplicación web moderna diseñada para centralizar la gestión de eventos académicos y horarios en la Universidad Nacional de Colombia, resolviendo el problema de la información fragmentada a través de múltiples canales como correo electrónico, tableros y grupos de mensajería.
Arquitectura y Stack Tecnológico
Arquitectura Central
- Framework: Next.js 16 con App Router y React Server Components
- Backend: Appwrite v2.0 como BaaS (Base de Datos, Autenticación, Almacenamiento)
- Validación: Zod con TypeScript para seguridad de tipos
- UI: Tailwind CSS 4.1 + Shadcn/ui + primitivas de Radix UI
Arquitectura en Capas

Funcionalidades Clave
Sistema de Gestión Dual
El proyecto implementa dos sistemas paralelos pero distintos:
Calendarios: Eventos únicos con fechas específicas
- Vistas: Mes, Semana, Día, Agenda
- Soporte de arrastrar y soltar (drag & drop)
- Etiquetas codificadas por color
Horarios: Eventos recurrentes con patrones semanales
- Categorías: Académico, Deportes, Cultura, Bienestar
- Grilla semanal fija
- Gestión basada en categorías
Jerarquía Organizacional
Implementa un sistema de múltiples niveles que filtra la visibilidad y controla los permisos:
- Nacional → Sede → Facultad → Programa
- Permisos basados en roles de Teams de Appwrite
- Contenido personalizado según el perfil del usuario
Sistema de Autenticación
- Inicio de sesión sin contraseña mediante enlaces mágicos de Appwrite
- Perfiles de usuario vinculados a la jerarquía institucional
- Configuración inicial obligatoria para personalizar la experiencia
Aspectos Técnicos Destacados
Arquitectura Server-First
- React Server Components para el renderizado inicial
- Server Actions como único punto de mutación de datos
- Validación con Zod como frontera de seguridad
- JavaScript mínimo en el cliente
Sistema de Permisos
Implementa control de acceso en dos niveles:
- Nivel de aplicación: Funciones helper (
canEditCalendarEvent(),canAdminSchedule()) - Nivel de base de datos: Permisos de Appwrite con seguridad a nivel de fila (row-level security)
UI/UX Moderna
- Modo claro/oscuro con
next-themes - Animaciones con Tailwind y propiedades CSS personalizadas
- Componentes accesibles con Radix UI
- Diseño responsivo con barra lateral colapsable
Estructura del Proyecto
Impacto y Escalabilidad
- Analíticas: Integración con Vercel Analytics y Speed Insights
- Código Abierto: Código disponible en GitHub con sistema de issues
- Beta Activa: Insignia de beta en la interfaz indicando desarrollo continuo
- Modular: La arquitectura permite una fácil extensión a nuevas instituciones
Notas
Este resumen se basa en la arquitectura actual del proyecto con Next.js 16 y React 19. El proyecto utiliza un enfoque validation-first con Zod que garantiza seguridad de tipos de extremo a extremo. La implementación de Server Actions como único punto de mutación de datos asegura un modelo de seguridad robusto. El código está disponible públicamente en GitHub con licencia para contribuciones de la comunidad.
Páginas del Wiki que podrías explorar:
Páginas del Wiki que también podrían interesarte: