# Challenge ONE - Hotel Alura [ToC] ### 🖥️ Tecnologías Utilizadas - Java v17 - Eclipse - Plugin WindowBuilder - MySql - Biblioteca JCalendar - Biblioteca Dotenv > **Note** 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éntete libre de agregar nuevas funciones y modificar la interfaz gráfica. ### Proyeto base Github [Hotel Alura](https://github.com/alura-challenges/challenge-one-alura-hotel-latam) :small_orange_diamond: `src/views` Directorio con la interfaz gráfica necesaria para el programa :small_orange_diamond: `src/imagenes` Directorio con imágenes a usar en el proyecto ### Requerimientos - Sistema de autenticación de usuario para que solo usuarios autorizados accedan al sistema - Permitir crear, editar y eliminar una reserva para los clientes - Buscar en la base de datos toda la informacion tanto de clientes como reservas - Registrar, editar y eliminar datos de huéspedes - Calcular el valor de la reserva en base a la cantidad de de días de hospedaje y al valor diario. Asignar en la moneda local de tu país; p.e. una reserva de 3 dias con valor diario de $20, serian $60, todo esto deberá ser hecho automaticamente y mostrado al usuario antes de guardar la reserva - Base de datos para almacenar todos los datos pedidos anteriormente. - Ahora te preguntarás ¿Cómo se que datos debo registrar? Para eso el líder del proyecto puso a disposición un Diagrama de Entidad Relación que usaremos para crear las tablas en nuestra base de Datos y que está anexado a esta tarjeta y que también estará como una tarea en nuestro backlog. No olvides leer todas las tarjetas. - Periodo de tiempo de cuatro semanas para desarrollar el proyecto y por eso en esta oportunidad se facilota la parte visual del proyecto, para centrar el desarrollo de la lógica y funcionamiento, puedes hacer las modificaciones que creas convenientes, y se trabaja usando el sistema ágil de desarrollo utilizando Trello ## :construction: Proyecto ### :bar_chart: Base de Datos Archivo `.env` con credenciales para conexión con base de datos, en raíz del proyecto ```txt 📂 . ├── 📁 .git ├── 📁 .settings ├── 📁 bin ├── 📁 src ├── 📁 target ├── .classpath ├── .env <---- Dotenv file ├── .gitignore ├── .project ├── pom.xml └── README.md ``` Contenido de `.env` ```conf # Database credentials DBADDR=address DBNAME=database DBUSER=user DBPASS=password ``` #### Modelo entidad relación - **`huesped`** - **`reserva`** clave externa (***foreign key***) **idReserva** ```mermaid erDiagram Huesped ||--|{ Reserva : tiene Huesped { Id int PK "NN NB" Nombre varchar "bla bla" Apellido varchar "bla bla" Fecha_Nacimiento date "1931-12-20" Nacionalidad varchar "CL" Telefono varchar Id_Reserva int FK "bla bla" } Reserva { Id int PK "NN NB" Fecha_Entrada date "1931-12-20" Fecha_Salida date "1931-12-20" Valor int FK "bla bla" Forma_Pago varchar "cheque" } ``` ### 🗔 Plugin WindowBuilder - Explorar *Window Builder*, agregar nuevas ventanas, o cambiar el diseño de las existentes, haz clic en el archivo **java**, luego en *Open With* -> *Window Builder Editor* ### :mailbox_with_mail: Entrega 1. Utilizar topico **challengeonehotelaluralatam4** en *About* -> *topics* -> etiqueta **challengeonehotelaluralatam4** 2. Rellenar formulario de entrega con el enlace al repositorio [Link formulario](https://lp.alura.com.br/alura-latam-entrega-challenge-one-esp-back-end) 3. ¡Añadir enlace y/o video del proyecto en Linkedin! Etiqueta a `#Oracle` y `#AluraLatam` :checkered_flag: 🧡 Oracle
[](https://www.linkedin.com/company/oracle/) 💙 Alura Latam
[](https://www.linkedin.com/company/alura-latam/mycompany/)