- Contexto
- Guía de Usuario
- Guía de Instalación
- Autor
- Licencia
- Agradecimientos
- Documentos Complementarios
LiterAlura es una aplicación desarrollada en Java con el entorno IntelliJ para el Challenge del curso "Java Persistencia de Datos y Consultas con Spring Data JPA" de ONE + Alura Latam. Ha sido manufacturada por su autor (sin ayuda de IA) en Octubre de 2024.
Esta aplicación permite consumir la información JSON provista por la API de Gutendex y persistirla en una base de datos relacional PostgreSQL para su posterior explotación. (Para asegurar la consistencia, se utilizan transacciones en los bloques try-catch-finally
).
El modelo de datos se basa en tres tablas: libros
, autores
e idiomas
. Entre la primera y las otras existen relaciones @ManyToMany
, lo cual implica la existencia de dos tablas más: libros_autores
y libros_idiomas
.
Las opciones del menú son las siguientes:
- Buscar y guardar libros
- Ver libros
- Ver libros por idioma
- Ver cantidad de libros por idioma
- Ver top 10 libros descargados
- Ver autores
- Ver autores vivos
- Ver top 10 autores jóvenes
- Ver cantidad de autores por idioma
A continuación, unas muestras de su interfaz:
Simplemente se requiere clonar este proyecto en el repositorio local, y luego ejecutarlo con un IDE acorde (como IntelliJ, Eclipse, etc) desde el método main
de la clase LiterAluraApplication
.
Dado que la aplicación trabaja con una base de datos, se requiere un servidor PostgreSQL 16.4.2 o superior previamente instalado. (Se proveen scripts SQL de ayuda, incluso con el universo de datos al 25/Oct/2024).
Además, como es necesario acceder a Internet para ejecutar la API de Gutendex, tanto antivirus como cortafuegos no deben limitar ni bloquear dicho comportamiento.
Importante: No olvidar declarar las variables de entorno que se utilizan en application.properties
.
César es alumno de Alura. Inició su formación en Junio de 2024 dentro del plan Oracle Next Education para Latinoamérica. Tiene 54 años y es nacido en Buenos Aires.
Licencia BSD Zero Clause (0BSD) detallada en LICENSE.txt
en la raíz del repositorio. Más información en https://opensource.org/license/0bsd
- Generador de logotipo : https://chatgpt.com
- Generador de favicon : https://favicon.io
- Clonar un repositorio de GitHub : https://docs.github.com/es/repositories/creating-and-managing-repositories/cloning-a-repository
- Scripts SQL de base de datos : https://github.com/cesargh/literalura/tree/master/sql
- Sito Web Oficial de PostgreSQL : https://www.postgresql.org
- API Gutendex : https://gutendex.com