LibraSys is an advanced library management system designed to streamline the process of borrowing and returning books while providing intelligent recommendations to users. This project offers a comprehensive solution for managing library operations, including book cataloging, user management, and loan tracking, all through a user-friendly Command-Line Interface (CLI). By leveraging key data structures and algorithms, LibraSys ensures efficient and effective handling of library tasks.
Features: Book Management: Add, remove, and search for books by title or author. User Management: Register users and track borrowed books. Loan Management: Borrow and return books with ease. Recommendations: Get personalized book recommendations based on user preferences and borrowing history.
Data Structures and Algorithms: Arrays: Utilized for storing and managing the attributes of books. Linked Lists: Employed to keep track of books borrowed by users, providing efficient insertion and deletion operations. HashMaps: Used to maintain a fast and efficient lookup for books and users, ensuring constant time complexity for search operations. Trees: Implemented in the recommendation system to suggest books based on user interests, allowing for efficient traversal and retrieval. Binary Search: Applied for quick and efficient searching of books by title and author, reducing search time significantly. Sorting Algorithms: Used to organize the book catalog, ensuring that users can find books quickly. Graph Traversal (BFS/DFS): Integrated into the recommendation system to explore and suggest books based on user connections and borrowing patterns. LibraSys combines advanced data structures and algorithms to deliver a robust, user-friendly, and efficient library management experience. This project demonstrates proficiency in Java, data structures, and algorithmic problem-solving, making it a notable addition to any resume. The CLI ensures ease of use and interaction, making it accessible for all types of users.