Proyecto API de gestión de préstamos en una biblioteca - librería basado en tecnologías Spring Boot, Spring Data, JPA, Hibernate, Lombok y Mapstruct
A partir del proyecto de la librería que tenéis subido en el Equipo de Teams se pide:
- Crear un proyecto Spring Boot con el mismo modelo de entidades.
 - Implementación de servicios y repositorios para cada una de las entidades.
 - Gestión CRUD de libros.
 - Gestión CRUD de copias.
 - Gestión CRUD de usuarios.
 - Gestión de préstamos y devoluciones.
 
Las especificaciones funcionales son las siguientes:
- Se tienen distintas categorías literarias, entre las que se destacan [1.] Novela, [2.] Teatro, [3.] Poesía y [4.] Ensayo. Estas categorías deben ser gestionables por la aplicación (CRUD).
 - En la biblioteca se encuentran libros, que tendrán los siguientes atributos: código, título, ISBN, categoría, autor, editorial.
 - Los autores son otra entidad importante en nuestro modelo, por lo que también ser gestionará el alta, baja y modificación de los mismos.
 - De cada libro existirá un número finito de copias, que tendrán un identificador y un estado: [1.] en la biblioteca, [2.] prestada, [3.] con retraso y [4.] en reparación.
 - Se tendrán registrados usuarios, que contarán con una clave alfanumérica que los identifique de manera inequívoca.
 - Cada uno de los usuarios puede tener un máximo de tres libros prestados, y se debe llevar un registro del histórico de usuarios que han cogido prestada cada una de las copias.
 
For further reference, please consider the following sections:
- Official Apache Maven documentation
 - Spring Boot Maven Plugin Reference Guide
 - Create an OCI image
 - Spring Web
 - Spring Security
 - Spring Data JPA
 - Validation
 - Spring Boot Actuator
 - Spring Boot DevTools
 - Spring Configuration Processor
 - Spring HATEOAS
 
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service
 - Serving Web Content with Spring MVC
 - Building REST services with Spring
 - Securing a Web Application
 - Spring Boot and OAuth2
 - Authenticating a User with LDAP
 - Accessing Data with JPA
 - Accessing data with MySQL
 - Validation
 - Building a RESTful Web Service with Spring Boot Actuator
 - Building a Hypermedia-Driven RESTful Web Service
 
