133 lines
4.3 KiB
Markdown
133 lines
4.3 KiB
Markdown
|
<p align="center"><img src="./src/imagenes/aH-150px.png" width="150"/></p>
|
||
|
|
||
|
# 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:
|
||
|
|
||
|
🧡 <strong>Oracle</strong></br>
|
||
|
[<img src="https://img.shields.io/badge/-LinkedIn-%230077B5?style=for-the-badge&logo=linkedin&logoColor=white" target="_blank">](https://www.linkedin.com/company/oracle/)
|
||
|
|
||
|
💙 <strong>Alura Latam</strong></br>
|
||
|
[<img src="https://img.shields.io/badge/-LinkedIn-%230077B5?style=for-the-badge&logo=linkedin&logoColor=white" target="_blank">](https://www.linkedin.com/company/alura-latam/mycompany/)
|
||
|
|