1.
Backend - Microservicio en Spring Boot
Requisitos:
• Lenguaje: Java 8 o superior
• Framework: Spring Boot 2 o superior
• Base de datos: Oracle
• Gestión de dependencias: Maven
• API Documentation: Swagger (levantado en localhost)
Descripción del Microservicio:
El microservicio gestionará un sistema de biblioteca. Incluirá las siguientes entidades. Debe
incluir las siguientes entidades, con las columnas definidas como mínimo. Si es necesario, puede
incluir otras columnas adicionales:
• Libro:
o Título
o Autor
o ISBN
o Fecha de publicación
o Estado (Disponible/No disponible)
• Autor:
o Nombre
o Nacionalidad
o Fecha de nacimiento
• Préstamo:
o Fecha de préstamo
o Fecha de devolución
o Estado (Activo/Finalizado)
Operaciones por implementar (CRUD y demás):
• Crear, leer, actualizar y borrar (CRUD) para Libro, Autor, y Préstamo.
• Operación para listar todos los préstamos de un libro específico.
• Operación para verificar la disponibilidad de un libro.
• Paginación para listar todos los libros usando Criteria.
Consideraciones adicionales:
• Documentar la API usando Swagger.
• Subir el proyecto en un repositorio GIT con un archivo README que incluya instrucciones
claras para la configuración del microservicio.
• Usar JPA para la persistencia de datos con Oracle.
• Configurar un perfil de base de datos H2 para pruebas locales.
2. Base de Datos Oracle
Requisitos:
• Crear scripts para las siguientes tablas:
o Libros (como se definió en el microservicio)
o Autores (como se definió en el microservicio)
o Prestamos (como se definió en el microservicio)
3. Frontend - Angular
Requisitos:
• Framework: Angular 16 o superior
• Estilos: Bootstrap para la interfaz
Descripción del Proyecto Frontend:
El frontend será una aplicación que consuma el microservicio y permita a los usuarios gestionar
libros, autores y préstamos
Funcionalidades por implementar:
• Gestión de Libros: Página con formulario para agregar, editar, eliminar y listar libros.
Utilizar validaciones reactivas para los formularios.
• Gestión de Préstamos: Página para listar todos los préstamos y otra para registrar un
nuevo préstamo. Utilizar validaciones reactivas para los formularios.
• Gestión de Autores: Página para agregar, editar, eliminar y listar autores. Utilizar
validaciones reactivas para los formularios.
• Dashboard: Un pequeño dashboard que muestre el total de libros, autores y préstamos.
Consideraciones adicionales:
• Consumir el microservicio usando servicios en Angular y mostrar los datos en la interfaz.
• En caso de que se presenten errores al consumir los endpoints, gestionarlos y mostrarlos
en pantalla.
• Implementar rutas en Angular para cada sección (libros, autores, préstamos y
dashboard).
• Subir el proyecto frontend a un repositorio GIT separado del backend con un archivo
README que incluya las instrucciones para levantar el proyecto y conectarlo con el
backend.
Entrega y Evaluación:
• La prueba deberá ser entregada en dos repositorios GIT: uno para el backend y otro para
el frontend.
• Los repositorios deben incluir scripts de la base de datos, configuraciones necesarias y
un README detallado.
• Incluir capturas de pantalla o gifs para mostrar el funcionamiento de la aplicación.
• La evaluación se enfocará en la calidad del código, la estructura del proyecto, el uso de
buenas prácticas en ambos entornos (Java y Angular), y la claridad en la documentación.
• Puede incluir librerías adicionales para el desarrollo del reto según su criterio, tanto para
el backend como para el frontend.