Skip to content

agni1402/BookWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bookwise: Library Management REST API

This project implements a RESTful API for library management using Spring Boot and MySQL. The API provides endpoints for common book management operations like adding, updating, deleting, and fetching books.

Features

  • CRUD operations for books
  • Search books by title, author, genre, etc.
  • User management and auth using Spring Security
  • Database schema modeling with JPA
  • Exception handling and input validation

Usage

The API can be consumed by any frontend using the exposed endpoints. Some examples:

  • Fetch all books: GET /api/books
  • Get a book: GET /api/books/{id}
  • Add a new book: POST /api/books
  • Update a book: PUT /api/books/{id}
  • Delete a book: DELETE /api/books/{id}

Installation

The API uses Maven for dependency management. To build and run the app:

  • mvn clean install
  • mvn spring-boot:run

This will start the API on port 8090. The API can then be accessed from http://localhost:8090

Database

  • The API uses a MySQL database. The schema is automatically created on startup using Hibernate.
  • The connection properties are configured in application.properties.

Testing

Unit and integration tests are included that verify the API endpoints. Run them using:

  • mvn test

Results with Images

Add a book(Post)

Screenshot 2023-09-15 143937

Update a book(Put)

Screenshot 2023-09-15 144010

delete a book(Delete)

Screenshot 2023-09-15 144040

Fetch all Books(Get)

Screenshot 2023-09-15 143904

instance of the database after operations

Screenshot 2023-09-15 144326

About

This project implements a RESTful API for library management using Spring Boot and MySQL. The API provides endpoints for common book management operations like adding, updating, deleting and fetching books.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages