The College Library Management System is a comprehensive solution designed to streamline the management of library operations within an academic institution. Built using the robust Spring Boot framework, this application provides a user-friendly interface for librarians, students, and college administrators to manage library resources efficiently.
-
Clone the Repository:
git clone https://github.com/rahuldora71/College-Library-Management.git cd college-library-management -
Configure the Database:
- Update
application.propertieswith your MySQL database credentials.
- Update
-
Build and Run the Application:
mvn clean install mvn spring-boot:run
-
Access the Application:
- Open your browser and navigate to
http://localhost:9090.
- Open your browser and navigate to
- Book Management: Easily add, update, and manage book inventories, including categorization by status (available, issued, lost).
- Issuing & Returning Books: Seamlessly issue and return books, with automatic tracking of book status and student borrowing history.
- User Management: Manage student and staff profiles, including secure login credentials.
- Reports & Analytics: Generate detailed reports on book availability, borrowing trends, and overdue items.
- System Configuration: Configure global settings such as borrowing limits, overdue penalties, and user roles.
- Security & Permissions: Implement role-based access control to ensure secure access to different parts of the system.
-
Backend:
- Spring Boot: Provides the foundation for the application, leveraging Spring MVC, Spring Data JPA, and Spring Security.
- Java: Core language used for developing the application logic.
- MySQL: Relational database management system for storing and managing library data.
- Hibernate: ORM tool used for database interaction.
-
Frontend:
- Thymeleaf: Template engine for rendering dynamic web pages.
- Bootstrap: CSS framework used for creating responsive and visually appealing user interfaces.
-
Security:
- Spring Security: Handles authentication and authorization, ensuring secure access to the application.
-
File Management:
- Local Storage: Images and files are stored locally in the
images/directory, categorized by type (e.g., book covers, user photos).
- Local Storage: Images and files are stored locally in the
- Controllers: Manage incoming HTTP requests and route them to the appropriate service.
- Services: Contain business logic and interact with repositories.
- Repositories: Handle data persistence and retrieval from the MySQL database.
- Entities: Define the data model and map to database tables.
- Resources: Contain static assets like images, and Thymeleaf templates for rendering views.
- Notification System: Implement email or SMS notifications for overdue books and upcoming due dates.
- Enhanced Reporting: Add more detailed and customizable reports.
- Mobile App: Develop a companion mobile application for students and librarians.
| API Name | HTTP Method | Endpoint | Parameters | Description |
|---|---|---|---|---|
| Get Books | GET | /librarian/home/books-list |
page (int, optional), size (int, optional), principal (Principal, auto-injected) |
Retrieves a paginated list of books available in the library. |
| Search Books | GET | /librarian/home/searched-books-list |
page (int, optional), size (int, optional), search (String, required), filter (String, optional), principal (Principal, auto-injected) |
Searches for books based on a search term and an optional filter. |
| Book Suggestions | GET | /librarian/home/book-suggestions |
search (String, required), filter (String, optional), flag (boolean, optional), principal (Principal, auto-injected) |
Provides book suggestions based on a search term and filters. |
| Delete Book | GET | /librarian/home/delete-book/{id} |
id (String, path variable, required), session (HttpSession, auto-injected), principal (Principal, auto-injected) |
Deletes a book based on its ID. |
| Issue Book | POST | /librarian/home/book-issue |
id (String, required), principal (Principal, auto-injected) |
Approves and processes the issuing of a book to a student. |
| Count Books | GET | /librarian/home/count-books |
principal (Principal, auto-injected) |
Returns a count of books by status for the librarian's college. |
| API Name | HTTP Method | Endpoint | Parameters | Description |
|---|---|---|---|---|
| Search Users | GET | /librarian/home/searched-user-list |
search (String, required), principal (Principal, auto-injected) |
Searches for users (students) in the system based on a search term. |
| Issue Book to Student | POST | /librarian/home/user-issue-book |
studentId (String, required), bookId (String, required) |
Issues a book to a student after validating eligibility. |
| Renew Book | POST | /librarian/home/books_renew |
issuedBookId (String, required) |
Renews an issued book, extending the borrowing period. |
Contributions are welcome! If you'd like to contribute to this project, please fork the repository and submit a pull request.
This project is licensed under the MIT License.








