The Library Management System (LMS) is a software application designed to streamline and automate library operations. It provides functionalities for managing books, patrons, and lending records effectively.
-
Book Management:
- Create, retrieve, update, and delete book details.
- Search books by title, author, or genre.
-
Patron Management:
- Add, update, and delete patron records.
- List all books borrowed by a specific patron.
- (NOT SURE IF THIS IS IMPLEMENTED)
-
Lending Management:
- Check-out and check-in books.
- View all active lendings.
- Framework: Spring Boot
- Database: MySQL
- ORM: Hibernate
- API Architecture: RESTful
-
Book:
- Attributes: ID (Auto Increment), title, author, genre, publication date, ISBN.
-
Author:
- Attributes: ID (Auto Increment), name, List of Genres, List of Books
-
Genre:
- Attributes: enum name.
-
Patron:
- Attributes: patron ID, name, email, registration date.
-
Lending:
- Attributes: lending ID, book ID, patron ID, date borrowed, due date.
- Book - Author: Many-to-One (Many books can have the same author).
- Book - Genre: Many-to-One (Many books can belong to the same genre).
- Lending - Book: Many-to-One (Many lendings can involve the same book).
- Lending - Patron: Many-to-One (Many lendings can be associated with the same patron).
- CRUD Operations: Implemented for Book, Patron, and Lending models.
- Search Functionality: Implemented for searching books by title, author, or genre.
- Logging: Logging is added for each CRUD operation to aid in debugging and monitoring.
- Database Interaction: Hibernate ORM is used for database interaction to ensure data integrity and simplify CRUD operations.
- Clone the repository.
- Configure MySQL database settings in application.properties.
- Run the application using Spring Boot.
-
Books:
- GET /books/ : Get List of All Books
- GET /books/{id} : Get a Single Book
- GET /books/title/{title} : Search Books By Title
- GET /books/author/{name} : Search Books By Author Name
- GET /books/genre/{genre} : Search Books By Genre
- POST /api/books/ : Create a New Book
- PATCH /api/books/{id} : Update a new Book
- DELETE /api/books/{id} : Delete a new Book
-
Patrons:
- GET /api/patrons : Get all Patrons
- GET /api/patrons/{id} : Get a Single Patron
- PATCH /api/patrons/{id} : Update Patron Details
- DELETE /api/patrons/{id} : Delete a Single Patron
-
Lendings:
- GET /api/lendings/ : Get all Lendings
- GET /api/lendings/{id} : Get a single Lending
- POST /api/lendings/ : Create a Lending
- PATCH /api/lendings/{id}: Update a Lending
- DELETE /api/lendings/{id} : Delete a Lending
- Amritesh Indal: Designed the architecture of the Library Management System. Implemented Book Management System.
- Arjun Kshirsagar: Implemented Patron Management System and added loggers for all CRUD operations
- Harsh Kumar: Implemented Lending Management System and Handled Exceptions
- Ishita: Implemented Book Management System
- Medha Shree: Implemented Book Management System
- Bhavya Jain: Implemented Lending Management System.
- Special thanks to Mr. Deepak Kasera.
The Library Management System is a robust and efficient solution for managing library operations. With its user-friendly interface and comprehensive features, it enhances the efficiency and effectiveness of library management processes.