https://github.com/BrianSabio/LiteraLura_challenge
Aplicación de consola en Spring - Java que permite a los usuarios buscar libros por título, listar libros y autores registrados, listar autores vivos en un determinado año, y listar libros por idioma a partir de la API de Gutendex. De igual menera mantiene persistencia de los datos buscados y se alojan en una base de datos a través de PostgreSQL.
https://github.com/BrianSabio/LiteraLura_challenge
java postgresql spring
Last synced: 9 months ago
JSON representation
Aplicación de consola en Spring - Java que permite a los usuarios buscar libros por título, listar libros y autores registrados, listar autores vivos en un determinado año, y listar libros por idioma a partir de la API de Gutendex. De igual menera mantiene persistencia de los datos buscados y se alojan en una base de datos a través de PostgreSQL.
- Host: GitHub
- URL: https://github.com/BrianSabio/LiteraLura_challenge
- Owner: BrianSabio
- License: mit
- Created: 2025-01-18T19:19:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-18T19:54:05.000Z (over 1 year ago)
- Last Synced: 2025-03-12T09:16:01.863Z (over 1 year ago)
- Topics: java, postgresql, spring
- Language: Java
- Homepage:
- Size: 110 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Desafío Literalura
Este proyecto, llamado "Literalura", fue realizado como parte de la formación en el programa Oracle Next Education (Oracle ONE). Es una aplicación de consola en Java que permite a los usuarios buscar libros por título, listar libros y autores registrados, listar autores vivos en un determinado año, y listar libros por idioma.

## Organización del código
El proyecto utiliza Java como lenguaje de programación, Spring Boot como framework y Maven para la gestión de dependencias. Está organizado en varios paquetes:
- **`com.aluracursos.desafio_literalura.models`**: Contiene las clases de modelo para Datos, Libros, DatosLibros, Autores y DatosAutores.
- Datos.java: Conecta la lista de libros del JSON y la aplicación.
- DatosLibros.java: Conecta los datos de los libros del JSON y las variables de la aplicación.
- DatosAutores.java: Conecta los datos de los autores del JSON y la aplicación.
- Libros.java: Define los atributos de los libros y crea su tabla en la base de datos. Relación ManyToOne con Autores.
- Autores.java: Define los atributos de los autores y crea su tabla en la base de datos. Relación OneToMany con Libros.
- **`com.aluracursos.desafio_literalura.repositorio`**: Interfaces de repositorio para interactuar con la base de datos.
- IAutoresRepository.java: Consultas relacionadas con los autores.
- ILibrosRepository.java: Consultas relacionadas con los libros.
- **`com.aluracursos.desafio_literalura.service`**: Clases de servicio para consumir la API de Gutendex y convertir los datos.
- ConsumoApi.java: Obtiene datos de la API y los devuelve como JSON.
- ConvierteDatos.java: Convierte el JSON en una clase genérica.
- IConvierteDatos.java: Define el tipo de dato genérico.
- **`com.aluracursos.desafio_literalura.principal`**: Contiene la clase Principal que maneja la lógica principal de la aplicación.
- Principal.java: Clase principal que gestiona la interacción con el usuario y las funcionalidades del menú.
El proyecto cuenta con:
- Dependencias como Jackson Dataformat, Jackson Core, Spring Data JPA y PostgreSQL Driver.
- Configuración de base de datos en `application.properties`.
## Tecnologías utilizadas
- Java SE17
- Maven
- Spring Boot V3.3.0
- PostgreSQL
## Estado del proyecto
Finalizado.
## Autor:
**Brian Sabio**
## Licencias
MIT License