Skip to content

Latest commit

Β 

History

History
74 lines (55 loc) Β· 2.1 KB

File metadata and controls

74 lines (55 loc) Β· 2.1 KB

πŸ“š Library Management System (Tkinter GUI)

A desktop application built using Python and Tkinter for managing a library’s books and students. The system supports book search, student tracking, and issuing/returning books with automated penalties. It persists data using CSV files and offers a clean GUI interface for librarians.

πŸš€ Features

  • πŸ” Search Books & Students: Filter by title, author, student name, ID, or email.
  • πŸ“– Issue Books: Check availability and enforce a borrowing limit of 3 books per student.
  • πŸ”„ Return Books: Automatically calculates penalties based on due date.
  • πŸ“ Persistent CSV Data: Manages books, students, and logs via books.csv, students.csv, and logs.csv.
  • 🧾 Logs Transactions: Records all issue/return actions with timestamps and due dates.
  • πŸ–₯️ Tabbed GUI Interface: Clean, organized interface using ttk.Notebook tabs.

πŸ“‚ File Structure

.
β”œβ”€β”€ book.py            # Main GUI logic and backend system
β”œβ”€β”€ books.csv          # Book records
β”œβ”€β”€ students.csv       # Student records
β”œβ”€β”€ logs.csv           # Transaction log history
β”œβ”€β”€ README.md          # Project documentation
└── LICENSE            # MIT License

πŸ’Ύ CSV Format

books.csv

book_id,title,author,total_copies,available_copies
B001,1984,George Orwell,10,6

students.csv

student_id,name,email,borrowed_books
S001,John Doe,john@example.com,B001;B005

logs.csv

transaction_id,date,type,book_id,student_id,due_date
T20250526001000,2025-05-26,ISSUE,B001,S001,2025-06-09

πŸ› οΈ How to Run

Requirements

  • Python 3.x

Install dependencies (optional):

pip install tk

Run the app:

python book.py

🧾 Example Use Cases

  • Search for a book by title or author
  • View availability and total copies
  • Issue a book and get an auto-generated due date
  • Return a book and see calculated penalty if overdue

✍️ Author

  • Merull Shah

πŸ“œ License

This project is licensed under the MIT License. See LICENSE for more information.