Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drako01/desafio-integrador-01
Desafio Integrador de la Fase 1
https://github.com/drako01/desafio-integrador-01
css3 eclipse-ide html5 java javascript jsp jsp-servlet maven servlet sql
Last synced: 4 days ago
JSON representation
Desafio Integrador de la Fase 1
- Host: GitHub
- URL: https://github.com/drako01/desafio-integrador-01
- Owner: Drako01
- License: mit
- Created: 2024-04-02T18:26:12.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-10T21:53:07.000Z (7 months ago)
- Last Synced: 2024-04-11T00:50:03.931Z (7 months ago)
- Topics: css3, eclipse-ide, html5, java, javascript, jsp, jsp-servlet, maven, servlet, sql
- Language: Java
- Homepage:
- Size: 16.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proyecto Integrador Fase I
### Descripción del Proyecto
Este proyecto se centra en el desarrollo de una aplicación en Java que permite buscar películas por título o género, mostrar un listado de películas y obtener información detallada de una película seleccionada. Además, se utiliza una base de datos para almacenar información sobre las películas y se aplica el patrón de diseño DAO para interactuar con la base de datos.### Pasos Realizados
1. **Creación del Repositorio Git**
- Se creó una cuenta en GitHub.
- Se creó el repositorio "Proyecto Integrador Fase I" en GitHub.2. **Generación del Proyecto Localmente y Subida al Repositorio**
- Se utilizó la herramienta `create-java-app` para generar el esqueleto del proyecto.
- Se repasaron los comandos de Git para inicializar el repositorio local, agregar archivos, hacer commits y empujar los cambios al repositorio remoto en GitHub.3. **Diseño del Programa de Búsqueda de Películas**
- Se diseñó un programa en Java que permite buscar películas por título o género.4. **Implementación de la Funcionalidad de Búsqueda y Visualización de Películas**
- Se implementó la funcionalidad para mostrar un listado de películas después de realizar la búsqueda y permitir al usuario ver información detallada de una película seleccionada mediante su código.5. **Uso de Proyectos Maven, Colecciones y Separación en Paquetes**
- Se utilizó Maven para gestionar las dependencias del proyecto.
- Se organizó el código en paquetes para una mejor estructuración y mantenimiento.6. **Utilización de una Base de Datos**
- Se crearon las tablas necesarias en una base de datos para almacenar información sobre las películas.
- Se adjuntó en el proyecto un script SQL que crea la base de datos y las tablas utilizadas.7. **Aplicación del Patrón de Diseño DAO**
- Se implementó el patrón de diseño DAO para realizar operaciones CRUD (Crear, Leer, Actualizar, Borrar) sobre la tabla de películas en la base de datos.8. **Trabajo con Git y Ramas**
- Se crearon diferentes ramas en el repositorio Git para representar las diferentes características desarrolladas.
- Se fusionaron las ramas de características en la rama principal a medida que se completaban las funcionalidades.### Opcional
- Se investigó y utilizó Markdown para editar el archivo `README.md`.
- Se agregó una descripción del proyecto, las tecnologías utilizadas, el script de la base de datos, la versión de Java utilizada, el autor del proyecto y un enlace a una red social del autor (LinkedIn).### Tecnologías Utilizadas
- Java
- Maven
- Git
- MySQL### Versión de Java Utilizada
Java 11### Autor del Proyecto
Alejandro Daniel Di Stefano---
### Script de la Base de Datos
```sql
-- Script SQL para crear la base de datos y las tablas de películasCREATE DATABASE IF NOT EXISTS peliculas_db;
USE peliculas_db;
CREATE TABLE IF NOT EXISTS peliculas (
codigo INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
url VARCHAR(255),
imagen_promocional VARCHAR(255)
);CREATE TABLE IF NOT EXISTS generos (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);CREATE TABLE IF NOT EXISTS pelicula_genero (
id_pelicula INT,
id_genero INT,
PRIMARY KEY (id_pelicula, id_genero),
FOREIGN KEY (id_pelicula) REFERENCES peliculas(codigo),
FOREIGN KEY (id_genero) REFERENCES generos(id)
);INSERT INTO peliculas (titulo, url, imagen_promocional)
VALUES ('Mad Max', 'https://www.youtube.com/watch?v=2OEGx_yIS6M', 'https://assets.afcdn.com/album/D20160812/phalbm24886928_w320cxt0cyt0cxb809cyb1200.webp'),
('Ted', 'https://www.youtube.com/watch?v=bWcVNC6bcE0', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRrz83rBUFZYah8aa67ycnf5-mrrLU7mpyeuEgISsjMPQ&s'),
('The Shawshank Redemption', 'https://www.youtube.com/watch?v=6hB3S9bIaco', 'https://m.media-amazon.com/images/I/51BgHp0VYxL._AC_.jpg'),
('The Godfather', 'https://www.youtube.com/watch?v=sY1S34973zA', 'https://m.media-amazon.com/images/M/MV5BM2MyNjYxNmUtYTAwNi00MTYxLWJmNWYtYzZlODY3ZTk3OTFlXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_.jpg'),
('The Dark Knight', 'https://www.youtube.com/watch?v=EXeTwQWrcwY', 'https://m.media-amazon.com/images/S/pv-target-images/e9a43e647b2ca70e75a3c0af046c4dfdcd712380889779cbdc2c57d94ab63902.jpg'),
('Schindler\'s List', 'https://www.youtube.com/watch?v=gG22XNhtnoY', 'https://www.tematika.com/media/catalog/Ilhsa/Imagenes/666871.jpg'),
('The Lord of the Rings: The Return of the King', 'https://www.youtube.com/watch?v=4fxfIvWheh0', 'https://goldenglobes.com/wp-content/uploads/2023/10/the_lord_of_the_rings_the_return_of_the_king_2003.jpg'),
('Pulp Fiction', 'https://www.youtube.com/watch?v=s7EdQ4FqbhY', 'https://m.media-amazon.com/images/I/81UTs3sC5hL._AC_UF894,1000_QL80_.jpg'),
('Forrest Gump', 'https://www.youtube.com/watch?v=bLvqoHBptjg', 'https://m.media-amazon.com/images/S/pv-target-images/2d0c9e38968936e6711c7fb2bc7895b82d8bb9178b5a854e14dffa4b17b88487.jpg'),
('Fight Club', 'https://www.youtube.com/watch?v=BdJKm16Co6M', 'https://cdn.hobbyconsolas.com/sites/navi.axelspringer.es/public/media/image/2016/12/club-lucha.jpg?tf=384x'),
('Inception', 'https://www.youtube.com/watch?v=YoHD9XEInc0', 'https://m.media-amazon.com/images/I/912AErFSBHL._AC_UF894,1000_QL80_.jpg'),
('The Matrix', 'https://www.youtube.com/watch?v=m8e-FF8MsqU', 'https://static.wikia.nocookie.net/doblaje/images/7/7a/Matrix.jpg/revision/latest?cb=20210703005220&path-prefix=es');SELECT * FROM peliculas;
INSERT INTO generos (nombre)
VALUES
('Acción'),
('Aventura'),
('Comedia'),
('Drama'),
('Crimen'),
('Biografía'),
('Historia'),
('Fantasía'),
('Romance'),
('Ciencia ficción');-- Insertar relaciones entre películas y géneros en la tabla pelicula_genero
-- Mad Max
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Mad Max' AND nombre IN ('Acción', 'Aventura');-- Ted
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Ted' AND nombre IN ('Comedia');-- The Shawshank Redemption
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'The Shawshank Redemption' AND nombre IN ('Drama');-- The Godfather
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'The Godfather' AND nombre IN ('Drama', 'Crimen');-- The Dark Knight
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'The Dark Knight' AND nombre IN ('Acción', 'Crimen', 'Drama');-- Schindler's List
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Schindler\'s List' AND nombre IN ('Biografía', 'Drama', 'Historia');-- The Lord of the Rings: The Return of the King
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'The Lord of the Rings: The Return of the King' AND nombre IN ('Aventura', 'Drama', 'Fantasía');-- Pulp Fiction
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Pulp Fiction' AND nombre IN ('Crimen', 'Drama');-- Forrest Gump
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Forrest Gump' AND nombre IN ('Drama', 'Romance');-- Fight Club
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Fight Club' AND nombre IN ('Drama');-- Inception
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'Inception' AND nombre IN ('Acción', 'Aventura', 'Ciencia ficción');-- The Matrix
INSERT INTO pelicula_genero (id_pelicula, id_genero)
SELECT codigo, id
FROM peliculas
CROSS JOIN generos
WHERE titulo = 'The Matrix' AND nombre IN ('Acción', 'Ciencia ficción');```
 
 
 ---