El sistema contiene un login que se conecta a la base de datos de mySQL para checkear si el usuario y la contraseña es valido
A la pantalla principal de usuario se le agrego un boton de configuracion desde donde se puede editar el valor diario de las reservas
A la seccion para agregar reservas se le agrego restricciones a los calendarios para que fechas anteriores al dia actual queden bloqueadas y la fecha de salida no pueda ser anterior a la fecha de entrada, ademas tienen listeners que detectan en cuanto hay un cambio de fecha calcula la diferencia de dias y nos muestra el valor total de la estadia en color azul. Por ultimo se agrego un boton para poder volver al menu de usuario.
A la seccion para agregar al huesped que realizo la reserva se le incorporaron todas las validaciones a los campos y a su vez se incluyo un filtro de edad (editable dentro del codigo) para restringir la reserva a menores de 16 años. Tambien se modifico el campo de numero de reserva para que se muestre en color rojo.
El sistema de busqueda filtra por numero de id de reserva y apellido, ademas en esta seccion se puede editar y borrar reservas y huespedes, asi como cancelar los registros eliminados haciendo rollback para devolver nuestros registros iniciales a la sesion que nos pregunta si queremos guardar los cambios, recien ahi commitea los cambios
El esquema de la base de datos MySQL es el siguiente:
Video con el funcionamiento del programa:
hotel_alura.mp4
🔹 ¡Visita la página del desafío haciendo clic aquí! Link do Challenge 📃
- Java
- Eclipse
- MySql
- Biblioteca JCalendar
- Plugin WindowBuilder
☕ Use Java versión 8 para compatibilidad.
📝 Recomendamos usar el editor de Eclipse para compatibilidad con la Interfaz Gráfica.
🎨 La interfaz contiene dos métodos importantes:
- setResizable(false): determina el tamaño de la ventana, y a través del parámetro false, la pantalla no se puede maximizar;
- setLocationRelativeTo(null): determina la ubicación de la ventana, y a través del parámetro null la mantiene centrada en la pantalla.
Para este desafío, concéntrate en la parte lógica y la conexión con la base de datos, después de completar el desafío, siéntate libre de agregar nuevas funciones y modificar la interfaz gráfica.
🔹 src/views: carpeta con toda la interfaz gráfica de las pantallas necesarias para desarrollar el programa;
🔹 src/imagenes: carpeta con imágenes que puedes usar en tu proyecto. Siéntete libre de usar otros, si lo deseas;
1 - Haz el fork del proyecto. En la parte superior derecha, al hacer clic en el icono se creará un repositorio del proyecto en tu cuenta personal de GitHub.
2 - Una vez que tengas el repositorio "forkado" en tu cuenta, comprueba si la URL de la página es la del repositorio de tu cuenta.
3 - Haz clic en la opción Code. Se mostrarán tres formas de instalar el repositorio en su máquina, y destacamos dos:
1 - Para clonar, simplemente copia el url resaltado en la imagen y ubicado justo debajo del HTTPS, crea una carpeta en tu computadora, abre el cmd o el git bash dentro de esa carpeta y luego ingresa el comando git clone y con el botón derecho del mouse dentro del terminal haz click en la opcion Paste para pegar el url y presiona Enter.
2 - La segunda opción es descargar el código en un paquete "zipado" y extraer la carpeta a tu computadora.
1 - Una vez dentro del Editor al lado izquierdo, haz clic en el Files que está en el menú en la parte superior, elige la opción Open Projects from File System.
Luego haz click en Directory y ubica el directorio del proyecto "clonado" o "extraído" en tu computadora. Haz click en Finish para completar la importación.
2 - La segunda forma de importar es en File en la opción Import. O a través del Project Explorer haz clic en el campo vacío con el botón derecho del mouse y elijas la opción Import.
Si te decides por el Import, se abrirá la ventana correspondiente. Haz clic en la opción Existing Projects Into Workspace y en el botón Next.
Luego haz clic en el botón Browse y busca el proyecto en el directorio local.
Tras realizar la importación a tu editor, es necesario instalar la librería JCalendar, de lo contrário, el proyecto presentará un error y no será posible abrir la ventana de Reservas.
Para instalar, se necesita descargar el paquete a través de ese enlace: 🔹 Link para el JCalendar
El siguiente paso es extraer los archivos a una carpeta e importar los archivos desde la carpeta lib a una carpeta local e importar los archivos a Eclipse.
Archivos de carpeta lib:
Haz click con el botón derecho encima del proyecto ubicado en el Package Explorer, elijas la opción Build Path y Configure Build Path.
El proyecto tendrá un mensaje de error que indica que la ruta de la biblioteca no existe en tu computadora. Haz click en Libraries, luego en Classpath seleccione el archivo JCalendar, elije la opción Remove y Apply and Close.
Para importar el Jcalendar desde tu computadora, después de haber "extraído" los archivos de la descarga, pulsa en ClassPath y luego en Add External JARS agrega uno por uno y haz click en Apply and Close.
Por lo tanto, el proyecto debe contener los siguientes archivos después de las importaciones:
Al clonar o descargar el proyecto base y tener instalado el JCalendar, tendrás esta presentación al ejecutar el proyecto en Eclipse:
Es la misma ruta descrita para importar el JCalendar, haga clic con el botón derecho en el proyecto, Build Path, Configure Build Path, Libraries, Add External JARs. Para encontrar la ruta de este archivo .jar, ve al disco duro de tu computadora e ingresa a la carpeta Archivos de Programas (x86).
- Archivos de Programas (x86):
- MySQL
- Connector J 8.0:
- My SQL Connector Java:
Para este reto te proponemos dos tablas: Reservas y Huéspedes. La tabla de huéspedes debe contener la clave externa (foreign key) idReserva.
En el menú de Eclipse, ir a la pestaña Help y seleccione la opción Eclipse Marketplace.
En la barra de búsqueda, ingresa window builder y haz click en Go. Después de la búsqueda, selecciona la primera opción y haz click en Install.
En la siguiente ventana, selecciona el botón Confirm.
Haz click en la opción para aceptar los Términos de Uso, y para finalizar haz clic en Finish.
- Ten el Fork del proyecto en tu repositorio en Github.
- Utilize el topico #challengeonehotelaluralatam
- Ve a la pestaña derecha de tu proyecto y haz clic en el engranaje de configuración en la sección About, seleccione el campo topics e inserte la etiqueta challengeonehotelaluralatam
- Rellena el siguiente formulario con tus datos personales, junto con el enlace de tu repositorio. 🔹 Link para o formulário
-
Ve a tu correo electrónico y canjea tu insignia obtenida al completar otro desafío del Proyecto ONE! 🏆
-
¡No olvides poner un enlace o video de tu proyecto en Linkedin! Etiqueta a #Oracle y #AluraLatam 🏁