Aplicación de línea de comandos desarrollada en Java con Spring Boot para explorar y gestionar libros del Proyecto Gutenberg. Permite buscar libros por diferentes criterios y muestra información detallada de las obras.
- 🔍 Búsqueda de libros por ID, título o autor
- 📊 Estadísticas de libros por idioma
- 👥 Búsqueda de autores vivos en un año específico
- 💾 Historial de búsquedas local
- 📱 Interfaz de línea de comandos intuitiva
- 🚀 Despliegue sencillo con Maven
- Java 21 o superior (LTS)
- Maven 3.6.3 o superior
- MySQL 8.0 o superior (opcional, configuración en memoria disponible)
- Conexión a Internet para acceder a la API de Gutenberg
-
Clona el repositorio
git clone https://github.com/luiscm17/litera-search.git cd litera-search -
Configura la base de datos (opcional)
- Crea una base de datos MySQL llamada
literasearch_db - Actualiza las credenciales en
src/main/resources/application.propertiessi es necesario
- Crea una base de datos MySQL llamada
-
Compila el proyecto
mvn clean package
-
Ejecuta la aplicación
java -jar target/litera-search-0.0.1-SNAPSHOT.jar
Al iniciar la aplicación, se mostrará un menú con las siguientes opciones:
- Buscar libro por ID - Busca un libro específico por su identificador único
- Buscar libros por título - Encuentra libros que coincidan con un término de búsqueda
- Buscar libros por autor - Localiza libros escritos por un autor específico
- Buscar autores vivos en un año - Encuentra autores que estaban vivos en un año determinado
- Ver historial de búsqueda - Muestra un registro de búsquedas anteriores
- Ver estadísticas de libros - Muestra estadísticas sobre los libros disponibles
- Salir - Cierra la aplicación
src/main/java/com/luiscm/literasearch/
├── LiterasearchApplication.java # Punto de entrada de la aplicación
├── config/ # Configuraciones de la aplicación
├── model/ # Entidades del dominio
│ ├── Autor.java
│ ├── Libro.java
│ └── dto/ # Objetos de transferencia de datos
├── repository/ # Repositorios de acceso a datos
│ ├── AutorRepository.java
│ └── LibroRepository.java
├── service/ # Lógica de negocio
│ ├── AutorService.java
│ ├── LibroService.java
│ └── api/ # Integración con APIs externas
└── ui/ # Interfaz de usuario
└── MenuPrincipal.java- Arquitectura: Aplicación Spring Boot con patrón MVC
- Persistencia: JPA/Hibernate con MySQL
- Procesamiento: Streams de Java para manipulación de datos
- Manejo de errores: Excepciones personalizadas y mensajes de error amigables
- Logging: Configuración detallada para desarrollo y producción
Si tienes preguntas o sugerencias, no dudes en abrir un issue o contactar al desarrollador.
Desarrollado con ❤️ por LuisCM - Explorando el mundo de la literatura digital 📖