Sistema de Reservaciones de Hospedaje
Sistema hecho para gestionar reservaciones de distintos tipos de hospedaje en varias sedes de parques del Festival de las Luciérnagas, ubicados en un mapa interactivo, aplicando reglas de negocio de temporada, disponibilidad y capacidad.
Jun—Ago
Temporada del festival
3 roles
Visitante, Cliente, Admin
4 patrones
Facade, Template, Observer, Adapter
Mapa en vivo
Leaflet + OpenStreetMap
# Cada reservación pasa por el formulario, el facade y el template method antes de guardarse
Resumen
Proyecto final de Ingeniería de Software, desarrollado con Django para el Festival de Luciérnagas: varios parques participantes, cada uno con sus servicios y distintos tipos de hospedaje, que el visitante puede explorar en un catálogo y ubicar en un mapa interactivo antes de reservar.
El sistema distingue tres tipos de uso: visitantes que exploran el catálogo público, clientes autenticados que crean y gestionan sus reservaciones, y administradores que gestionan parques, servicios, hospedajes y consultan todas las reservaciones.
Rol
Desarrollo en equipo (5 integrantes)
Estado
Proyecto académico, demostración en línea
Materia
Ingeniería de Software
Despliegue
Docker en servidor personal
Cómo funciona
Explorar Parques
Catálogo con filtros y mapa interactivo con Leaflet/OpenStreetMap.
Formulario de Reserva
El cliente elige fechas, unidades y huéspedes para un hospedaje.
Facade + Template Method
Se validan temporada, disponibilidad y reglas de mantenimiento.
Observer notifica
La reservación queda activa y se notifica su creación o cancelación.
Funcionalidades clave
Catálogo de Parques con Mapa
Listado público con filtros por estado, hospedaje y servicios, además de un mapa interactivo construido con un patrón Adapter para Leaflet/OpenStreetMap.
Roles y Permisos
Usuario personalizado con roles de Cliente y Administrador, e inicio de sesión con Google vía django-allauth.
Reglas de Reservación
Validación de temporada, disponibilidad, capacidad y días de mantenimiento antes de confirmar cada reserva.
Patrones de Diseño
Facade para crear/cancelar reservas, Template Method para el flujo de creación, Observer para notificaciones y Adapter para el mapa.
Stack Tecnológico
Backend
Datos
Mapas
Auth & UI
Arquitectura
- Apps separadas por dominio: usuarios, parques y reservaciones
- Modelo de usuario personalizado con roles CLIENTE y ADMINISTRADOR
- ReservacionFacade y ReservacionTemplate encapsulan la lógica de creación y cancelación
- MapaAdapter permite intercambiar OpenStreetMap por otro proveedor sin tocar las vistas
- Contenerizado con Docker y desplegado en el home lab personal
Reglas de reservación
Lo desarrollamos en equipo para la materia de Ingeniería de Software, aplicando patrones de diseño reales (Facade, Template Method, Observer, Adapter) a un sistema de reservaciones con reglas de negocio complejas.
— Jesús Romero, desarrollador
¿Quieres ver más proyectos?
Regresa al portafolio para conocer el resto de mi trabajo.
Volver al portafolio