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.
- 🔍 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
| 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 | ✅ |
- 📅 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
| Backend | Base de datos | Herramientas |
|
|
|
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
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 ║
╚══════════════════════════════════════════════════════════════════╝
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
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
Opción: 4
Ingrese el año: 1850
👥 Autores vivos en 1850:
✍️ Charles Dickens (1812-1870)
✍️ Gustave Flaubert (1821-1880)
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
}
]
}- Búsqueda básica de libros
- Gestión de autores y libros
- Filtros por año e idioma
- Interface CLI
Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.
- 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
