🚀 Misión: Ayudar a los estudiantes de la Universidad Nacional de Piura a encontrar sus escuelas, pabellones y recursos académicos rápidamente.
Este es un proyecto independiente Open Source. Desarrollado por estudiantes para estudiantes. No tiene afiliación oficial con la Universidad Nacional de Piura.
El Problema: El campus universitario es extenso y complejo. Los nuevos estudiantes (y visitantes) a menudo tienen dificultades para ubicar físicamente sus escuelas, pabellones o encontrar los enlaces oficiales correctos entre tanta información dispersa.
La Solución: Una plataforma centralizada y Location-First (prioridad en ubicación) que permite:
- Buscar facultades y escuelas al instante.
- Ubicar geográficamente cada pabellón en un mapa interactivo.
- Conectar con los recursos oficiales de la universidad.
- Directorio Inteligente: Búsqueda rápida de las 14 facultades y sus respectivas escuelas profesionales.
- Mapa Interactivo: Visualización geoespacial de los pabellones (Próximamente con Mapbox/Leaflet).
- Enlaces Oficiales: Acceso directo a las webs institucionales de cada escuela para trámites y mallas curriculares.
- Diseño Responsivo: Optimizado para funcionar perfecto en el celular mientras caminas por el campus.
- Gestión de Contenido: Sistema CRUD protegido para actualizar información de facultades y escuelas.
- Seguridad sin Fricción: Implementación de Admin Secret Cookie Middleware para gestión segura sin necesidad de un sistema de usuarios complejo.
- Gestión de Medios: Integración con Cloudinary para optimización de imágenes de fachadas.
Este proyecto demuestra patrones de desarrollo modernos y escalables:
| Área | Tecnología / Patrón | Descripción |
|---|---|---|
| Frontend | Next.js 14 (App Router) | Renderizado híbrido (SSR/CSR) para máximo SEO y velocidad. |
| Estilos | Tailwind CSS | Diseño de interfaz moderno, accesible y mobile-first. |
| Backend | API Routes | Endpoints RESTful estructurados por recursos. |
| Datos | MySQL 8.0 | Base de datos relacional normalizada (Facultades 1:N Escuelas). |
| Infraestructura | Docker | Contenerización completa para entornos de desarrollo y producción. |
| Seguridad | Middleware | Protección de rutas administrativas mediante validación de tokens en cookies. |
# 1. Clonar el repositorio
git clone https://github.com/dev-sandoval/unp-campus-map.git
cd unp-campus-map
# 2. Instalar dependencias
npm install
# 3. Configurar variables de entorno
# Crea un archivo .env basado en .env.example
cp .env.example .env
# 4. Levantar entorno con Docker (Base de datos)
docker-compose up -d
# 5. Inicializar esquema de datos (incluyendo tabla de escuelas)
docker exec -i db_facultades mysql -u user_facultades -ppassword < database/db.sql
# 6. Iniciar servidor de desarrollo
npm run dev- Arquitectura base y Directorio de Facultades.
- Sistema de administración (CRUD) seguro.
- Fase 2: Implementación de Mapa Interactivo (Mapbox/Leaflet).
- Fase 3: Búsqueda por "Escuela" (Fuzzy Search).
- Fase 4: Geolocalización del usuario ("Cómo llegar").
¡Las Pull Requests son bienvenidas! Este es un proyecto Open Source pensado para la comunidad. Si tienes fotos actualizadas de los pabellones o coordenadas GPS precisas, por favor abre un Issue.
Distribuido bajo la licencia MIT. Ver LICENSE para más información.
Soy Juan David Sandoval, Ingeniero Informático con especialización en Data Science y Desarrollador Web. Me enfoco en construir aplicaciones que combinen la ciencia de datos, inteligencia artificial y el desarrollo web moderno.
Si estás buscando talento que combine el dominio técnico de backend, frontend y bases de datos:
- Perfil Profesional: LinkedIn - Juan David Sandoval
- Código: GitHub - sandovaldavid
- Portafolio: DevSandoval


