Skip to content

GestBiFly. 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. (IFCD0210)

License

Notifications You must be signed in to change notification settings

davorpa/gestbifly-springboot-api

Repository files navigation

gestbifly-springboot-api

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

GestBiFly!

Requisitos

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.

Getting Started

Reference Documentation

For further reference, please consider the following sections:

Guides

The following guides illustrate how to use some features concretely: