The Library Book Sorter & Tracker is a Python-based GUI application designed to manage a small library collection. It tracks the availability of books, manages check-outs and returns, and calculates due dates. Notably, it includes advanced support for Book Series, allowing users to track individual volumes within a collection (e.g., specific Harry Potter books) independently.
- Visual Dashboard: View 15+ classic books and series with clear status indicators.
- 🟢 Green: Available
- 🔴 Red: Checked Out
- 🟠 Orange: Partially Checked Out (for series)
- Series Support: Intelligent handling of multi-volume series. You can check out "Volume 2" while "Volume 1" remains available.
- Check-Out System: Borrow books by specifying a loan duration. The system automatically records timestamps and due dates.
- Return System: Returns specific volumes or single books to the inventory.
- Sorting: Instantly sort the library catalog by Title, Author, or Status.
- Programming Language: Python 3.x
- GUI Framework: Tkinter (Standard Python GUI library)
- Libraries: tkinter.ttk, datetime
- Ensure Python 3.x is installed on your system.
-
Clone the repository:
git clone <your-repo-url>
cd <your-repo-folder> -
Run the application:
python library_sorter.py
- Launch the app.
- Select "1984" and click Check Out Book.
- Enter 7 days.
- Result: Row turns Red, status becomes "Checked Out".
- Select "Harry Potter (Series)".
- Click Check Out Book.
- A popup appears. Select "2. The Chamber of Secrets" and click OK.
- Enter 14 days.
- Result: Row turns Orange, status becomes "1/7 Checked Out", date shows "Various" (if mixed) or the specific date.
- Select "Harry Potter" (already partially checked out).
- Click Check Out Book again.
- Result: The dropdown list should not show "2. The Chamber of Secrets" (since it is already out).
- Select "Harry Potter".
- Click Return Book.
- Select "2. The Chamber of Secrets".
- Result: Row turns Green (if no other vols are out), status becomes "Available".