// Expediente de evidencia
Cabañas Las Palmas
Sistema full-stack de gestión hotelera para Cabañas Las Palmas: landing pública y panel privado para administrar cabañas, pasajeros, reservas, pagos, servicios extra, egresos y reportes desde un único flujo.
Contexto
Complejo turístico de cabañas en El Quisco que necesitaba transformar una operación basada en cuadernos y hojas de cálculo en una plataforma centralizada, manteniendo una vitrina pública clara para sus visitantes y un espacio privado para la gestión diaria.
Problema
La gestión basada en cuadernos y Excel dificultaba conocer disponibilidad, saldos y resultado mensual, además de aumentar el riesgo de reservas duplicadas y mezclar ingresos de alojamiento, servicios extra y egresos. El negocio necesitaba una solución propia, cómoda desde el teléfono y capaz de reducir errores operativos sin publicar sus datos de pasajeros.
Mi rol
Diseñé y desarrollé la solución full-stack: landing pública, panel administrativo, APIs server-side, modelo de datos, autenticación, validaciones de negocio, disponibilidad, cálculo de noches y saldos, pagos, servicios extra, egresos, reportes, exportaciones, notificaciones opcionales, auditoría y despliegue.
Restricciones
Era una operación real con datos personales y financieros, uso desde desktop y móvil, infraestructura acotada y una base local. También debía respetar la operación horaria de Chile, permitir que el correo fuera configurable y conservar datos e imágenes durante las actualizaciones.
Solución
Construí un flujo operativo completo: dashboard con KPIs y estado de cabañas; reservas con cálculo de noches, totales y control de solapamientos; estados Reservada, Check-In, Check-Out y Cancelada; pagos parciales y saldo; catálogo y cargos extra; egresos; reportes de ocupación, ingresos y estado de resultados de los últimos 12 meses; exportación Excel y vista de impresión; ficha de cabañas con amenities y galería editable; landing responsive; contacto por WhatsApp; y comprobantes HTML/PDF por correo cuando esa función está habilitada.
Arquitectura
Aplicación Next.js con App Router, React, TypeScript y Tailwind CSS. Separa la experiencia pública de la gestión privada mediante una capa server-side y módulos para cabañas, pasajeros, reservas, pagos, extras, egresos, reportes y exportaciones. Usa SQLite como almacenamiento local y se despliega en un VPS con un proceso administrado y proxy HTTPS.
Decisiones
Elegí Next.js para mantener landing, panel y APIs dentro de una misma aplicación, y SQLite por ser proporcional a la operación de un solo nodo. Centralicé las reglas de fechas y validación en el servidor, reutilicé la lógica de reportes para exportaciones y estructuré las actualizaciones para que los datos operativos permanezcan independientes del artefacto de cada versión.
Seguridad
La solución aplica defensa en profundidad para proteger la operación: autenticación y control de acceso, sesiones protegidas, validación de datos y reglas de negocio en servidor, controles contra solicitudes no autorizadas, protección de archivos, trazabilidad y respaldos protegidos. Esta ficha comunica capacidades, pero omite deliberadamente secretos, credenciales, rutas internas, parámetros operativos, nombres de controles y detalles de infraestructura que no deben convertirse en una guía para atacar el sistema. No se presenta como certificación ni auditoría externa.
Testing
La suite automatizada actual del proyecto cubre autenticación y sesiones, validaciones, disponibilidad, cálculo de noches y saldos, transiciones de reservas, operaciones de cabañas/pasajeros/pagos/egresos/extras, reportes, exportación, carga de imágenes, backups y controles de seguridad. Además, se revisaron manualmente la impresión, la descarga Excel, la edición de amenities/galería y los recorridos responsive en desktop y móvil. No se publica un benchmark independiente de rendimiento, disponibilidad o ahorro de tiempo.
Deployment
El proyecto está desplegado en un VPS de Hostinger como aplicación Next.js standalone administrada por PM2 detrás de Nginx/HTTPS. El flujo de actualización valida el entorno, crea un respaldo previo, compila y reinicia la aplicación preservando los datos operativos, imágenes y respaldos. La demo pública muestra la vitrina comercial y no expone el panel ni la infraestructura interna.
Resultado
El sistema llevó la operación desde papel y Excel a una plataforma web centralizada para reservas, ocupación, pasajeros, saldos, gastos y reportes. También incorporó una operación más ordenada para amenities, galería, exportación Excel e impresión, junto con un flujo de actualización que conserva los datos del negocio. El resultado corresponde al caso entregado; no se publica una medición independiente de productividad, disponibilidad o rendimiento.
Evidencia
Evidencia pública: demo visual de la landing, galería, ubicación y flujo de contacto. La ficha incorpora una muestra aislada de validación de RUT y su enfoque de pruebas para evidenciar calidad de software y experiencia de usuario sin publicar código privado. Evidencia técnica revisada en el proyecto: documentación, modelo de datos, pruebas y recorridos funcionales. No se publican datos de pasajeros, credenciales, base de producción, archivos subidos, APIs, controles de seguridad ni información que permita acceder a la operación real.