Library Management System
Books, members, issue and return with automatic late-fine calculation.
One-time purchase — source code, database, README and report outline, all in a single ZIP.
No account needed — pay & download instantly
Screenshots





These screenshots were taken from this project actually running — not mockups.
About this project
Covers the full work of a college library - tracking book stock, registering student members, issuing books and calculating the fine when they come back late.
There is real logic here, not just forms. Issuing a book decreases the available copies and sets a 14-day due date. If it is returned late, the fine is worked out automatically at Rs 2 per day. The same member cannot take two copies of one book, and a book with copies still out cannot be deleted.
The dashboard lists overdue books along with the member's phone number, so they can actually be called.
Features
- ✓Login screen
- ✓Dashboard - total copies, members, currently issued, overdue and fine collected
- ✓Overdue list with phone numbers and days late
- ✓Add, update, delete books with live search by title, author or ISBN
- ✓Add, update, delete members with search by name or roll number
- ✓Issue a book - available copies drop and a 14-day due date is set
- ✓Return - the late fine (Rs 2 per day) is calculated automatically
- ✓The same member cannot be issued two copies of one book
- ✓A book on loan, or a member holding one, cannot be deleted
- ✓Filter the list by Issued, Overdue or All
- ✓Every query is parameterised (? placeholder) to prevent SQL injection
Modules
Tools
- • Python 3.8+
- • VS Code (or any editor)
- • DB Browser for SQLite (optional)
Requirements
Only Python 3.8 or newer. Nothing to pip install - tkinter (the GUI) and sqlite3 (the database) both ship with Python itself. Works on Windows, Linux and Mac.
How to run
1. Extract the ZIP. 2. Open CMD and go to the folder: cd path\to\library-management-system 3. Run: python main.py 4. Login: admin / admin123 library.db is created automatically on the first run, with sample data already in it. Before a demo or viva, run 'python demo.py' first so every screen has realistic data in it.
The same steps are in README.md inside the ZIP, along with a troubleshooting table.
What you get in the ZIP
- 📁 Full source code — commented throughout, so you can explain it in the viva
- 🗄️ Database — the schema builds itself on first run, with sample data
- 📖 README.md — step-by-step run instructions, database design, viva questions and troubleshooting
- 📝 docs/report-outline.md — the full AKTU project report outline (DFD, ER diagram, testing table, screenshots)