Saltar al contenido principal

CASO DE ESTUDIO · DIRECTORIO ACADÉMICO

UNP Campus Map

Un directorio académico independiente y de código abierto para facultades y escuelas de la Universidad Nacional de Piura, construido con Next.js 16 App Router, búsqueda respaldada por base de datos, CRUD administrativo y contenido multimedia en Cloudinary.

Código público Mantenido

PRODUCTO ACTUAL

Un directorio académico consultable, con el mapa geoespacial todavía en roadmap

UNP Campus Map es un proyecto independiente y de código abierto, no un producto oficial de la Universidad Nacional de Piura. Su superficie mantenida es un directorio de facultades y escuelas con búsqueda y administración de contenido. La navegación geoespacial interactiva permanece como trabajo futuro.

PROBLEMA

La información del campus es más útil cuando está estructurada y se puede buscar

Nombres de facultades, escuelas, referencias de pabellón y enlaces oficiales son más fáciles de usar cuando viven en un directorio consultable en lugar de redescubrirse en páginas o documentos separados. Por eso la implementación actual se concentra en descubrimiento de facultades y escuelas antes de añadir interacción específica de mapa.

SISTEMA

Next.js controla el directorio público y la administración de contenido

Arquitectura actual de UNP Campus Map. Las superficies públicas y administrativas del App Router llegan a handlers de API y servicios. Un servicio de facultades consulta mediante Knex, que puede usar MySQL por defecto o PostgreSQL. Cloudinary almacena el contenido multimedia.

IMPLEMENTACIÓN

Qué soporta hoy la aplicación

DESCUBRIMIENTO

FACULTADES + ESCUELAS

La capa de servicios obtiene facultades, cuenta escuelas relacionadas y busca por nombre de facultad, descripción y nombre de escuela. Los registros de escuela exponen pabellón y sitio web oficial.

CONTENIDO

CRUD ADMINISTRATIVO

El App Router incluye un área administrativa y facultyService implementa create, update y delete sobre el mismo límite de persistencia utilizado por las lecturas públicas.

MULTIMEDIA + DATOS

CLOUDINARY + KNEX

Cloudinary separa el manejo de contenido multimedia. El acceso a datos se centraliza detrás de Knex y existen rutas de esquema tanto para MySQL como para PostgreSQL, evitando acoplar cada consulta a un único driver.

STACK ACTUAL

Next.js 16, React 19 y Tailwind 4

IMPLEMENTACIÓN

NEXT.JS 16 · REACT 19 · TAILWIND 4

La aplicación actual usa Next.js 16.0.10, React 19.2.3 y Tailwind CSS 4.1.17, con Route Handlers, consultas en la capa de servicios y CRUD administrativo alrededor del directorio académico.

ROADMAP DEL PRODUCTO

EL MAPA INTERACTIVO CONTINÚA COMO TRABAJO FUTURO

El mapa interactivo y la navegación geoespacial siguen como trabajo futuro. El producto actual se concentra en un directorio consultable y administrable hasta implementar esa capa de navegación.

TRADE-OFFS

Primero el directorio, luego el mapa

Construir primero el modelo de datos, la búsqueda y la administración de contenido crea una capa de información confiable que un futuro mapa puede consumir. También evita acoplar el valor del proyecto a GPS o UX geoespacial antes de que los registros de facultades y escuelas sean confiables.

Knex añade una capa de abstracción pequeña, pero ofrece una única superficie de consultas para MySQL y la ruta soportada de PostgreSQL.

APRENDIZAJES

Qué reforzó este proyecto

APRENDIZAJE 01

ENTREGA PRIMERO LA CAPA DE INFORMACIÓN CONFIABLE

El directorio aporta descubrimiento útil antes de que la capa geoespacial esté lista y da a un futuro mapa una fuente de datos estructurada sobre la cual construir.

APRENDIZAJE 02

MANTÉN CONFIGURACIÓN Y DOCUMENTACIÓN ALINEADAS

Los cambios de dependencias y arquitectura son más fáciles de mantener cuando configuración ejecutable, rutas y documentación evolucionan juntas.

APRENDIZAJE 03

LA PORTABILIDAD NECESITA UN LÍMITE REAL

Soportar más de una base de datos es significativo cuando las consultas pasan por una sola capa adaptadora y existen ambas rutas de esquema, no cuando la portabilidad solo aparece en documentación.