- Descripción del Proyecto
- Objetivo
- Estado del Proyecto
- Características
- Instalación y Configuración
- Tecnologías Utilizadas
- Personas Contribuyentes
- Licencia
- Agradecimientos
El Desafío LiterAlura es una aplicación de consola desarrollada en Java que permite a los usuarios interactuar con un catálogo de libros. Los libros se obtienen a través de la API de Gutendex, se almacenan en una base de datos y se pueden consultar mediante varias opciones de búsqueda. Este proyecto fue realizado como parte del programa Oracle Next Education (ONE) de Oracle.
Desarrollar un Catálogo de Libros que ofrezca interacción textual (vía consola) con los usuarios, proporcionando opciones de interacción. Los libros se buscarán a través de una API específica. Los pasos para completar este desafío incluyen:
- Configuración del Ambiente Java
- Creación del Proyecto
- Consumo de la API
- Análisis de la Respuesta JSON
- Inserción y consulta en la base de datos
- Exibición de resultados a los usuarios
El proyecto está finalizado y funcional.
- Buscar libro por autor: Realiza una petición a la API de libros (Gutendex) y guarda la respuesta en la base de datos.
- Mostrar libros registrados: Consulta y muestra todos los libros y autores almacenados en la base de datos.
- Mostrar autores registrados: Consulta y muestra todos los autores almacenados.
- Buscar autores en un determinado año: Permite ingresar un año y listar los autores desde ese año en adelante.
- Mostrar libros por idioma: Muestra libros según el idioma seleccionado por el usuario.
- Mostrar top 10 libros descargados: Consulta los 10 libros más descargados almacenados en la base de datos.
- Mostrar estadísticas generales Visualiza estadísticas generales de los libros almacenados, incluyendo promedio, máximo y mínimo de descargas.
- Buscar autor por nombre: Permite buscar autores por su nombre.
-
Clonar el repositorio:
git clone https://github.com/samantha09s/LiterAlura-ChallengeONE.git cd LiterAlura-ChallengeONE
-
Configurar la base de datos:
- Ejecutar PostgreSQL y crear la base de datos
literalura
. - Configurar las credenciales de la base de datos en
src/main/resources/application.properties
:# Nombre de la aplicación spring.application.name=literalura # Configuración de la conexión a la base de datos PostgreSQL spring.datasource.url=jdbc:postgresql://${DB_HOST}/desafio_literalura spring.datasource.username=${DB_USER} spring.datasource.password=${DB_PASSWORD} spring.datasource.driver-class-name=org.postgresql.Driver # Configuración específica de Hibernate para PostgreSQL hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect # Propiedades opcionales de JPA para mostrar y formatear las consultas SQL # spring.jpa.show-sql=true # spring.jpa.format-sql=true
- Ejecutar PostgreSQL y crear la base de datos
-
Compilar y ejecutar la aplicación:
- Compilar el proyecto usando Maven:
mvn clean install
- Ejecutar la aplicación:
mvn spring-boot:run
- Compilar el proyecto usando Maven:
-
Interactuar con la aplicación:
- Una vez que la aplicación esté en ejecución, puedes interactuar con ella a través de la consola. Se te presentará un menú con varias opciones:
BIBLIOTECA DIGITAL ----------------- MENÚ PRINCIPAL ----------------- 1. Buscar libro por título 2. Listar libros registrados 3. Listar autores registrados 4. Listar autores vivos en un determinado año 5. Listar libros por idioma 6. Visualizar datos estadísticos 7. Mostrar top 10 libros descargados 8. Buscar autor por nombre 9. Listar autores que nacieron y murieron en un determinado rango de años 0. Salir de la aplicación Selecciona una opción (1-9):
-
Ejecutar desde un IDE:
- Abre el proyecto en tu IDE preferido (por ejemplo, IntelliJ IDEA).
- Navega a la clase
LiteraluraApplication
en el paquetecom.literalura.literalura
. - Ejecuta la clase
LiteraluraApplication
.
- Java SE 17
- Spring Boot 3.3.0
- Maven
- PostgreSQL
- Gutendex API
- Samantha Munguía
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Agradecimiento especial al equipo de Alura por el material y el contenido del curso. También agradecemos al programa Oracle Next Education por la oportunidad de desarrollo.