/Spring-BookLibrary

Spring RESTFul BookLibrary

Primary LanguageJavaMIT LicenseMIT

Spring-BookLibrary

Spring RESTFul BookLibrary (Case Study)

A small but powerful monolithic RESTFul service for the management of a Book Library.

Motivation

This project is aimed on enforcing the knowledge of Spring Framework, REST services and related technologies with emphasis on testability.

Technologies

Project is created with:

  • Java 11
  • Maven
  • PostgreSQL
  • Spring Boot 2.3.9
  • Spring Web
  • Spring Data
  • Spring Security
  • DBUnit 2.5.4
  • Spring Test DBUnit 1.3.0
  • Jackson 2.11.1
  • Swagger 3.0.0
  • Lombok 1.18.18

Features

  • Book management
  • User management
  • Access management (authentication + authorization)
  • Reservation management

Setup

Spring-BookLibrary is a Spring Boot application built using Maven. You can build a jar file and run it from the command line:

git clone https://github.com/niolikon/Spring-BookLibrary.git
cd Spring-BookLibrary
./mvnw package
java -jar target/*.jar

Documentation

The exported RESTFul APIs are documented using Swagger framework, you can access the provided documentation by running Spring-BookLibrary and opening Swing UI on your browser.

Please use the Authorize button to test the CRUD operations with different user profiles. Feel free to use the test credentials Username "test" with Password "test".

Test

This project provides a sample dashboard for Insomnia REST Client with some pre-configured REST requests.

License

The Spring-BookLibrary (Case Study) application is released under MIT License.