This Library Management System is a Spring Boot-based application designed to manage books, authors, members, and loans in a library. It allows users to:
- Manage authors, books, members, and loans.
- Perform CRUD (Create, Read, Update, Delete) operations.
- Track book loans and manage book inventories.
- Author Management: Add, update, view, and delete authors.
- Book Management: Add, update, view, and delete books. Filter books by genre.
- Member Management: Add, update, view, and delete library members.
- Loan Management: Add, update, view, and delete loan records.
- Backend: Spring Boot
- Database: H2 Database (In-memory)
- Dependency Management: Maven
- Build Tool: Spring Boot Maven Plugin
- Controller Layer: Manages HTTP requests and interacts with services.
- Service Layer: Contains business logic and interacts with DAO.
- DAO Layer: Data access objects for handling database operations.
- DTO Layer: Response structure for consistent API responses.
git clone https://github.com/your-username/library-management-system.git
- Make sure you have Java 8 or later installed.
- Install Maven if not already installed.
- Navigate to the project directory.
- Run the application with Maven:
mvn spring-boot:run
- POST
/author
: Create a new author. - GET
/author
: Get all authors. - GET
/author/{id}
: Get an author by ID. - PUT
/author
: Update an existing author. - DELETE
/author/{id}
: Delete an author by ID.
- POST
/book
: Create a new book. - GET
/book
: Get all books. - GET
/book/{id}
: Get a book by ID. - GET
/book/genre/{genre}
: Get books by genre. - PUT
/book
: Update an existing book. - DELETE
/book/{id}
: Delete a book by ID.
- POST
/member
: Create a new member. - GET
/member
: Get all members. - GET
/member/{id}
: Get a member by ID. - PUT
/member
: Update an existing member. - DELETE
/member/{id}
: Delete a member by ID.
- POST
/loan
: Create a new loan. - GET
/loan
: Get all loans. - GET
/loan/{id}
: Get a loan by ID. - PUT
/loan
: Update an existing loan. - DELETE
/loan/{id}
: Delete a loan by ID.
- The project uses an in-memory H2 database by default.
- No additional configuration is required, but you can switch to a persistent database by modifying
application.properties
.
- Authentication: Implement user authentication and authorization.
- Persistent Database: Integrate a persistent relational database like MySQL.
- Front-End: Develop a user-friendly front-end using ReactJS or Angular.
This project is licensed under the MIT License.