Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Badge Spring

📚 Literalura

Java Spring Boot PostgreSQL License

Una aplicación de consola inteligente para gestionar tu biblioteca digital

CaracterísticasAPI


🌟 Descripción

Literalura es una aplicación de consola desarrollada en Java con Spring Boot que transforma la gestión de catálogos literarios. Integra dinámicamente datos desde la API pública de Gutendx (libros de dominio público) con una base de datos PostgreSQL local, ofreciendo una experiencia fluida para explorar y organizar literatura clásica.

✨ ¿Por qué Literalura?

  • 🔍 Búsqueda inteligente: Encuentra libros al instante desde miles de títulos disponibles
  • 💾 Persistencia local: Tus búsquedas se guardan automáticamente para acceso offline
  • 🚫 Sin duplicados: Sistema inteligente que evita redundancia de datos
  • 🌍 Multiidioma: Soporte completo para literatura en diferentes idiomas
  • Rápido y eficiente: Arquitectura optimizada con Spring Boot

🚀 Características

🔧 Funcionalidades principales

Función Descripción Estado
Búsqueda de libros Busca por título en API Gutendx y almacena localmente
Gestión de autores Relación autor-libro con control de duplicados
Filtros avanzados Por año, idioma y criterios específicos
Interfaz CLI Menú interactivo intuitivo y amigable
Persistencia Base de datos PostgreSQL con JPA

🎯 Filtros especializados

  • 📅 Autores por año: Lista autores vivos en un período específico
  • 🌐 Libros por idioma: Filtra literatura por código de idioma (es, en, fr, etc.)
  • 📖 Catálogo completo: Visualiza toda tu biblioteca personal

🛠️ Stack tecnológico

Backend Base de datos Herramientas
  • Java 17+
  • Spring Boot 3.5.0
  • Spring Data JPA
  • HttpClient
  • Jackson
  • Lombok
  • PostgreSQL
  • Hibernate ORM
  • JPA Repositories
  • Query Methods
  • Maven
  • Git
  • IntelliJ IDEA
  • Gutendx API

📁 Estructura del proyecto

literalura/
├── src/main/java/com/literalura/
│   ├── controller/
│   │   └── LiteraluraController.java    # CLI Interface
│   ├── service/
│   │   └── GutendxService.java          # API Consumer
│   ├── repository/
│   │   ├── AuthorRepository.java        # Author Data Access
│   │   └── BookRepository.java          # Book Data Access
│   ├── model/
│   │   ├── Author.java                  # Author Entity
│   │   ├── Book.java                    # Book Entity
│   │   └── dto/                         # Data Transfer Objects
│   └── LiteraluraApplication.java       # Main Application
├── src/main/resources/
│   └── application.properties           # Configuration
└── README.md


🎮 Menú principal

Al iniciar la aplicación, verás este menú interactivo:

╔══════════════════════════════════════════════════════════════════╗
║                    📚 CATÁLOGO LITERALURA 📚                    ║
╠══════════════════════════════════════════════════════════════════╣
║  1️⃣  Buscar Libro por Título                                    ║
║  2️⃣  Listar Todos los Libros                                    ║
║  3️⃣  Listar Todos los Autores                                   ║
║  4️⃣  Buscar Autores Vivos por Año                               ║
║  5️⃣  Filtrar Libros por Idioma                                  ║
║  0️⃣  Salir                                                      ║
╚══════════════════════════════════════════════════════════════════╝

🔍 Ejemplos de uso

Buscar un libro

Opción: 1
Ingrese el título del libro: don quijote
🔍 Buscando "don quijote"...
✅ Libro encontrado y guardado:
   📖 "Don Quijote" por Miguel de Cervantes Saavedra

Filtrar por idioma

Opción: 5
Códigos disponibles: es (Español), en (Inglés), fr (Francés)...
Ingrese código de idioma: es
📚 Libros en español:
   📖 "Don Quijote" - Miguel de Cervantes
   📖 "La Celestina" - Fernando de Rojas

Buscar autores por año

Opción: 4
Ingrese el año: 1850
👥 Autores vivos en 1850:
   ✍️  Charles Dickens (1812-1870)
   ✍️  Gustave Flaubert (1821-1880)

🔌 API Reference

Gutendx API Integration

La aplicación consume la API pública de Gutendx:

GET https://gutendx.com/books/?search={titulo}

Respuesta ejemplo:

{
  "results": [
    {
      "id": 996,
      "title": "Don Quijote",
      "authors": [
        {
          "name": "Cervantes Saavedra, Miguel de",
          "birth_year": 1547,
          "death_year": 1616
        }
      ],
      "languages": ["es"],
      "download_count": 4821
    }
  ]
}

🚀 Roadmap

✅ Versión actual (v1.0)

  • Búsqueda básica de libros
  • Gestión de autores y libros
  • Filtros por año e idioma
  • Interface CLI

📄 Licencia

Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.


🙏 Agradecimientos

  • Gutendx API por proporcionar acceso gratuito a literatura clásica
  • Spring Boot Team por el excelente framework
  • PostgreSQL Community por la robusta base de datos
  • Alura & Oracle por la inspiración del challenge

Literalura © 2025 - Transformando la manera de explorar literatura clásica

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages