This Library Management System is a Java-based application designed to manage books, users, and lending operations for a small to medium-sized library. It features user authentication, book inventory management, transaction tracking, and report generation.
- User Management: Add, update, and authenticate users (Admin, Librarian, Member)
- Book Management: Add, update, and track books in the library inventory
- Transaction Handling: Borrow and return books, manage due dates
- Reporting: Generate inventory, overdue, user activity, and popular books reports
- Data Persistence: Store all data in CSV files for easy management and portability
src/: Source code directoryMain.java: Entry point of the applicationLibraryManager.java: Core class managing library operationsReportGenerator.java: Handles generation of various reportsCSVBookDAO.java: Data Access Object for Book entitiesCSVUserDAO.java: Data Access Object for User entitiesCSVTransactionDAO.java: Data Access Object for Transaction entitiesBook.java: Represents a book in the libraryUser.java: Represents a user of the library systemTransaction.java: Represents a lending transactionPasswordUtils.java: Utility class for password hashing and verification
data/: Directory containing CSV files for data storagebooks.csv: Stores book informationusers.csv: Stores user informationtransactions.csv: Stores transaction records
- Ensure you have Java Development Kit (JDK) installed on your system.
- Clone this repository to your local machine.
- Navigate to the project directory in your terminal.
- Compile the Java files:
javac src/*.java
5.Run the application:
java -cp src Main
ISBN,Title,Author,Genre,PublishDate,TotalCopies,AvailableCopies
UserId,Name,Email,PasswordHash,Role,IsActive
TransactionId,UserId,ISBN,BorrowDate,DueDate,ReturnDate,Status
- Picone Alessandro
This project is licensed under the MIT License