
Implementation details and project architecture
La solución ofrece:
Gestión integral de reservas y paquetes turísticos. Módulos por rol de usuario, con permisos específicos (Administrador, Gerente, Diseñador de Paquetes, Dependiente).
Automatización de reportes, incluyendo contratos conciliados, temporadas hoteleras, ingresos por paquetes, entre otros.
Modelos de datos sólidos que representan contratos, proveedores, temporadas, vehículos, modalidades, etc. Interfaz visual intuitiva, desarrollada en Java Swing, con diseño centrado en la usabilidad (colores fríos, disposición clara y consistencia) y mucha innovación en su recreación.
Patrones para un mejor control del acceso a datos que permiten realizar este acceso de forma controlada segura y cómoda.
4 images

Image 1
Know-Cuba-Proyect

Image 2
Know-Cuba-Proyect

Image 3
Know-Cuba-Proyect

Image 4
Know-Cuba-Proyect
Antes de su implementación, las agencias de viajes enfrentaban:
Procesos manuales y fragmentados para registrar y gestionar contratos con hoteles, transportistas y prestadores de servicios.
Dificultades para organizar y combinar modalidades turísticas en un mismo paquete (ej. alojamiento + transporte + excursiones).
Duplicidad y pérdida de información por ausencia de una base de datos integrada. Falta de automatización en tareas críticas como la generación de reportes o control de reservas.
El proyecto dio lugar a una aplicación de escritorio desarrollada en Java conectada a una base de datos PostgreSQL. Capaz de solventar todos los problemas que enfrentan estas agencias de viaje.
Aumento de la eficiencia operativa, al automatizar tareas administrativas y de reserva.
Reducción de errores humanos, gracias a la validación y gestión centralizada de datos. Trazabilidad completa de contratos, paquetes y reservas.
Capacidad de expansión, ya que el diseño permite escalar hacia una futura aplicación web.
Mejora en la calidad del servicio al cliente, al disponer de información precisa y actualizada para ofrecer paquetes personalizados.
Identificación clara de entidades y relaciones complejas (múltiples relaciones 1-n y n-m).
Diseño de un modelo E-R completo y su transformación en modelos lógico y físico optimizados.
Diferenciación y justificación entre modelo lógico vs. físico, asegurando integridad referencial y eficiencia.
Elaboración de Diagramas Entidad-Relación, diagramas de clases UML y diagramas de interacción por roles.
Integración del diseño de base de datos con la arquitectura orientada a objetos en Java.
Construcción y prueba del script SQL completo de creación de tablas y relaciones, con claves primarias y foráneas.
Experiencia en normalización de tablas, restricciones e índices.
Comprensión de las diferencias entre el diseño lógico conceptual y su implementación física real.
Aplicación de principios de Programación Orientada a Objetos (POO).
Implementación de clases jerárquicas (herencia, abstracción) para modelar contratos, modalidades y roles.
Uso de Java Swing para construir interfaces gráficas intuitivas y consistentes.
Dividir tareas entre grupos de desarrollo (base de datos y aplicación).
Mantener comunicación y conocimiento integral entre todos los miembros. Aprender a iterar y refinar el diseño con base en problemas detectados durante el desarrollo.
Java
Java Swing
Eclipse
Git
Github
PostgreSQL
Enterprise Architec
Draw.io