Tercer Desafío Alura ONE - Hotel Alura
database | ||
src | ||
target | ||
.gitignore | ||
createdb.sh | ||
pom.xml | ||
README.md |
Challenge ONE - Hotel Alura
🖥️ Tecnologías Utilizadas
- Java OpenJDK 17
- Eclipse
- Plugin WindowBuilder
- MySql
- Biblioteca JCalendar
- Biblioteca Dotenv
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.
- Diagrama de Entidad Relación para creación de tablas en la base de Datos
- Periodo de tiempo de cuatro semanas para desarrollar el proyecto y por ello se facilita la parte visual del proyecto, para centrar el desarrollo de la lógica y funcionamiento, puedes hacer las modificaciones que creas convenientes. Se trabaja usando el sistema ágil de desarrollo utilizando Trello
🚧 Proyecto
📊 Base de Datos
Archivo .env
con credenciales para conexión con base de datos, en raíz del
proyecto
📂 .
├── 📁 .git
├── 📁 .settings
├── 📁 bin
├── 📁 src
├── 📁 target
├── 📄 .classpath
├── 📄 .env <---- Dotenv file
├── 📄 .gitignore
├── 📄 .project
├── 📄 pom.xml
└── 📄 README.md
Contenido de .env
# Database credentials
DBADDR=address
DBNAME=database
DBUSER=user
DBPASS=password
PEPPER=random-string
Modelo entidad relación
- Tabla
HUESPED
- Tabla
RESERVA
- Foreign keyid_huesped
erDiagram
HUESPED ||..o{ RESERVA : tiene
HUESPED {
id int PK
usuario varchar UK
nombre varchar
varchar apellido
fecha_nacimiento date "AAAA-MM-DD"
nacionalidad varchar
telefono varchar
password varchar
}
RESERVA {
id int PK
fecha_entrada date "AAAA-MM-DD"
fecha_salida date "AAAA-MM-DD"
valor double
forma_pago varchar "Débito, Crédito, Efectivo"
id_huesped int FK
}
Database creation statement
CREATE DATABASE IF NOT EXISTS `hotel_alura`
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `hotel_alura`;
DELETE FROM `hotel_alura`.`huesped`;
DROP TABLE IF EXISTS `hotel_alura`.`reserva`;
DROP TABLE IF EXISTS `hotel_alura`.`huesped`;
CREATE TABLE IF NOT EXISTS `huesped` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`usuario` varchar(20) NOT NULL UNIQUE,
`nombre` varchar(20) NOT NULL,
`apellido` varchar(20) NOT NULL,
`fecha_nacimiento` date DEFAULT '1000-01-01',
`nacionalidad` varchar(20) DEFAULT 'chilena',
`telefono` varchar(20) NOT NULL,
`password` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `reserva` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`fecha_entrada` date NOT NULL,
`fecha_salida` date NOT NULL,
`valor` double NOT NULL,
`forma_pago` varchar(20) NOT NULL,
`id_huesped` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `id_huesped_idx` (`id_huesped`),
CONSTRAINT `id_huesped` FOREIGN KEY (`id_huesped`)
REFERENCES `huesped` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
📬 Entrega
- Utilizar topico challengeonehotelaluralatam5 en About -> topics -> etiqueta challengeonehotelaluralatam4 ¿5?
- Completar el formulario de entrega con el enlace al repositorio -> Link formulario
- ¡Añadir enlace y/o video del proyecto en Linkedin! Etiqueta a
#Oracle
y#AluraLatam
🏁