The Book Management project is a simple web-based application that allows users to manage books in a library. The application provides a set of RESTful APIs to perform various operations such as adding new books, updating book details, deleting books, and retrieving book information.
- Add a new book to the library.
- Update book details such as title, author, genre, and publication year.
- Delete books from the library.
- Get a book using id
- Get a list of all books available in the library.
- Java
- Spring Boot
- Spring Data JPA
- H2 database
- Maven (for build and dependency management)
- RESTful API principles
To get started with the Book Management application, follow the instructions below:
- Java Development Kit (JDK) 8 or higher
- MySQL or another compatible relational database
- Maven
- Clone the repository to your local machine:
git clone https://github.com/VivekPandey09032002/book-management.git
cd book-management
- Book Management endpoints
Method | Endpoint | Description |
---|---|---|
POST | /books | Add a new book |
PUT | /books/{bookId} | Update book details |
DELETE | /books/{bookId} | Delete a book |
GET | /books | Get a list of all books |
GET | /books/{bookId} | Get details of a specific book by ID |
Please note that this application currently does not have built-in authentication and authorization. For a production deployment, consider integrating an authentication mechanism (e.g., OAuth, JWT) and role-based access control to secure sensitive operations.
The API endpoints are documented using Swagger (OpenAPI). You can access the Swagger documentation at http://localhost:8080/swagger-ui.html after starting the application.
For deployment in a production environment, consider containerizing the application using Docker and deploying it on a cloud platform (e.g., AWS, Azure, Google Cloud) for scalability and high availability.
This project is licensed under the MIT License, allowing you to use, modify, and distribute the code freely for both personal and commercial purposes.
Contributions to the Book Management project are welcome! If you find a bug or have an enhancement in mind, please open an issue or submit a pull request. Let's make this project better together!