StudyVatikaLearning Platform
HomeCoursesProjectsPodcastsBlogsProductsAboutContact
Stay Updated

Subscribe to Our Newsletter

Get the latest educational insights, resources, and updates delivered straight to your inbox.

StudyVatika

Your Complete Education Technology Platform

FacebookInstagramReddit

Resources

  • Notes
  • Podcasts
  • Blogs
  • Products

Company

  • About Us
  • Our Team
  • Contact

Contact

  • contact@studyvatika.com
  • +91 (123) 456-7890
  • 123 Education St, Learning City, 10001

We Accept

Ā© StudyVatika.com. All rights reserved.

Privacy PolicyTerms of ServiceCookie Policy

Made with by StudyVatika Team

Library Management System | Streamlit Edition

Library Management System | Streamlit Edition

4 months ago
30 views
0 likes
0 comments
CLASS_12
COMPUTER_SCIENCE

The Library Management System is a comprehensive web-based application built with Python, Streamlit, and SQLite3. It provides a complete solution for managing library operations including book inventory, student accounts, lending operations, and comprehensive reporting.

About the Author

AS

Arbind Singh

Innovative educator and tech enthusiast dedicated to empowering students through robotics, programming, and digital tools.

Project Actions

Share on social media:

Project Instructions

Step-by-step guide and implementation details

šŸ“š Library Management System - Complete Instruction Manual

Table of Contents

  1. System Overview
  2. Installation & Setup
  3. System Features
  4. User Guide
  5. Administrative Functions
  6. Troubleshooting
  7. Technical Details
  8. API Integration
  9. Customization
  10. Support & Maintenance

šŸŽÆ System Overview

The Library Management System is a comprehensive web-based application built with Python, Streamlit, and SQLite3. It provides a complete solution for managing library operations including book inventory, student accounts, lending operations, and comprehensive reporting.

Key Capabilities

  • Book Management: Add, edit, delete, and browse books with rich metadata
  • Student Management: Create and manage student accounts
  • Lending Operations: Track book loans, returns, and overdue items
  • ISBN Lookup: Automatic book metadata fetching from free APIs
  • Advanced Search: Filter and search books by various criteria
  • Reporting: Comprehensive analytics and export functionality
  • Dark Mode Support: Modern UI with theme compatibility
  • Responsive Design: Works on desktop and mobile devices

šŸš€ Installation & Setup

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)
  • Git (for cloning the repository)

Step 1: Download the project file

extract the zip
cd lms

Step 2: Create Virtual Environment

# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Run the Application

streamlit run app.py

Step 5: Access the Application

Open your web browser and navigate to:

http://localhost:8501

āš™ļø System Features

šŸ” Core Modules

1. Dashboard

  • Real-time Statistics: Total books, students, active loans, overdue items
  • Quick Actions: Direct access to common functions
  • System Overview: Current status and recent activities

2. Book Management

  • Add Books: Manual entry or ISBN-based auto-fill
  • Browse Books: Single-column display with full details
  • Edit Books: Modify existing book information
  • Delete Books: Remove books from inventory

3. Student Management

  • Student Registration: Create new student accounts
  • Student Directory: View and manage all students
  • Account Updates: Modify student information

4. Lending Operations

  • Lend Books: Process book loans to students
  • Return Books: Handle book returns
  • Loan History: Track all lending activities
  • Overdue Management: Monitor and manage overdue items

5. Reports & Analytics

  • Lending Reports: Comprehensive loan statistics
  • Book Reports: Inventory and usage analytics
  • Student Reports: Student activity and borrowing patterns
  • Export Functionality: Download data in CSV format

šŸ“– User Guide

šŸ  Dashboard Navigation

Sidebar Menu

The sidebar provides always-visible navigation with the following sections:

  1. šŸ  Dashboard - Main overview page
  2. šŸ“– Book Management - All book-related operations
  3. šŸ‘„ Student Management - Student account operations
  4. šŸ“š Lending Operations - Loan and return management
  5. šŸ“Š Reports & Analytics - Data analysis and reporting

Quick Actions

  • āž• Add New Book - Direct access to book addition
  • šŸ“¤ Lend Book - Quick loan processing

šŸ“š Book Management

Adding a New Book

Method 1: Manual Entry

  1. Navigate to Book Management → Add Book
  2. Fill in all required fields:
    • ISBN: 10 or 13 digit number
    • Title: Book title
    • Author: Author name
    • Publisher: Publishing company
    • Published Date: Publication year
    • Pages: Number of pages
    • Subjects: Categories or topics
    • Cover Image URL: Book cover image link
    • Copies: Number of available copies
  3. Click Add Book to save

Method 2: ISBN Auto-Fill

  1. Enter the ISBN number
  2. Click šŸ” Lookup ISBN button
  3. Review fetched metadata
  4. Click Use This Information to auto-fill the form
  5. Modify any fields if needed
  6. Click Add Book to save

Browsing Books

  1. Navigate to Book Management → Browse Books
  2. Use search and filter options:
    • Search: Find books by title, author, or ISBN
    • Availability Filter: Show all, available, or borrowed books
    • Sort Options: Sort by title, author, or date added
  3. View books in single-column layout with full details
  4. Use šŸ‘ļø View Complete Details for expanded information

Editing Books

  1. Navigate to Book Management → Edit Book
  2. Select the book to edit from the dropdown
  3. Modify any fields as needed
  4. Click Update Book to save changes

Deleting Books

  1. Navigate to Book Management → Delete Book
  2. Select the book to delete from the dropdown
  3. Confirm deletion by clicking Delete Book

šŸ‘„ Student Management

Adding Students

  1. Navigate to Student Management → Add Student
  2. Fill in student information:
    • Student ID: Unique identifier
    • Name: Full name
    • Email: Email address
    • Phone: Contact number
    • Department: Academic department
  3. Click Add Student to register

Managing Students

  1. Navigate to Student Management → View Students
  2. View all registered students
  3. Use search to find specific students
  4. Download student list as CSV if needed

šŸ“š Lending Operations

Lending Books

  1. Navigate to Lending Operations → Lend Book
  2. Select student from dropdown
  3. Select book from dropdown
  4. Set loan period (default: 14 days)
  5. Click Lend Book to process

Returning Books

  1. Navigate to Lending Operations → Return Book
  2. Select the loan record to return
  3. Click Return Book to process

Viewing Loans

  1. Navigate to Lending Operations → View Loans
  2. See all active and completed loans
  3. Filter by status (Active, Overdue, Returned)
  4. Search by student or book

šŸ“Š Reports & Analytics

Available Reports

  1. Lending Summary: Overview of all lending activities
  2. Overdue Books: List of overdue items with days overdue
  3. Student Activity: Individual student borrowing patterns
  4. Book Usage: Most and least borrowed books

Exporting Data

  1. Navigate to any report section
  2. Click Download CSV button
  3. Save the file to your local system

šŸ› ļø Administrative Functions

Database Management

  • Automatic Schema Updates: System automatically migrates database schema
  • Data Backup: Export functionality for data backup
  • Sample Data: Initial setup includes sample books and students

System Configuration

  • Page Layout: Wide layout for better data display
  • Sidebar State: Always expanded for easy navigation
  • Theme Support: Compatible with light and dark themes

šŸ”§ Troubleshooting

Common Issues & Solutions

1. "Please fill in all required fields!" Error

Problem: Form submission fails after auto-fill Solution:

  • Ensure all required fields have values
  • Check that ISBN is valid (10 or 13 digits)
  • Verify cover image URL is accessible

2. ISBN Lookup Not Working

Problem: API calls fail to fetch book data Solution:

  • Check internet connection
  • Verify ISBN format (remove hyphens)
  • Try alternative ISBN if available
  • Wait a few minutes and retry (API rate limiting)

3. Image Display Issues

Problem: Book covers not showing Solution:

  • Verify image URL is accessible
  • Check if URL requires authentication
  • Use placeholder images for missing covers

4. Performance Issues

Problem: Slow loading or unresponsive interface Solution:

  • Clear browser cache
  • Restart the Streamlit application
  • Check database size and optimize if needed

5. Database Errors

Problem: SQLite database corruption or errors Solution:

  • Delete the library.db file
  • Restart the application (will recreate database)
  • Restore from CSV exports if available

Error Messages Reference

Error MessageCauseSolution
"ISBN must be 10 or 13 digits"Invalid ISBN formatEnter valid ISBN number
"Email too short"Invalid email formatUse valid email address
"Phone number too short"Invalid phone formatEnter complete phone number
"Book already exists"Duplicate ISBNUse different ISBN or edit existing book
"Student not found"Invalid student selectionSelect valid student from dropdown

šŸ”¬ Technical Details

Architecture

  • Frontend: Streamlit web interface
  • Backend: Python business logic
  • Database: SQLite3 with automatic migrations
  • APIs: OpenLibrary and Google Books integration

File Structure

lms/
ā”œā”€ā”€ app.py                 # Main application file
ā”œā”€ā”€ requirements.txt       # Python dependencies
ā”œā”€ā”€ database/
│   ā”œā”€ā”€ models.py         # Database schema and management
│   └── operations.py     # Business logic and CRUD operations
ā”œā”€ā”€ utils/
│   └── helpers.py        # Utility functions and UI components
ā”œā”€ā”€ README.md             # Project documentation
└── INSTRUCTION_MANUAL.md # This manual

Database Schema

  • books: Book inventory with metadata
  • students: Student account information
  • loans: Lending transaction records
  • users: System user accounts (if implemented)

API Integration

  • OpenLibrary API: Primary book metadata source
  • Google Books API: Fallback metadata source
  • Timeout: 10 seconds for API calls
  • Fallback Strategy: Automatic fallback between APIs

🌐 API Integration

ISBN Lookup Process

  1. Input Validation: Clean ISBN (remove hyphens/spaces)
  2. Primary API: Try OpenLibrary API first
  3. Fallback API: Use Google Books if OpenLibrary fails
  4. Data Processing: Extract and format metadata
  5. Auto-fill: Populate form fields automatically

Supported Metadata Fields

  • Title, Author(s), Publisher, Published Date
  • Number of Pages, Subjects/Categories
  • Cover Image URL, ISBN, Data Source

API Limitations

  • OpenLibrary: Free, no API key required
  • Google Books: Free tier with rate limits
  • Cover Images: Quality may vary between sources

šŸŽØ Customization

UI Customization

  • CSS Styling: Modify utils/helpers.py CSS section
  • Color Schemes: Update color variables in CSS
  • Layout: Adjust column widths and spacing
  • Fonts: Modify typography settings

Functionality Extensions

  • New Fields: Add database columns and form fields
  • Additional APIs: Integrate more book data sources
  • Custom Reports: Create new analytics views
  • Export Formats: Add PDF or Excel export options

Configuration Options

  • Loan Periods: Modify default lending duration
  • Search Filters: Add new search criteria
  • Validation Rules: Customize input validation
  • Notification Settings: Configure alert preferences

šŸš€ Support & Maintenance

Regular Maintenance

  • Database Backups: Export data regularly using CSV export
  • Log Monitoring: Check application logs for errors
  • Performance Monitoring: Monitor response times and resource usage
  • Update Dependencies: Keep Python packages updated

Backup Procedures

  1. Data Export: Use built-in CSV export for all tables
  2. Database File: Copy library.db file
  3. Configuration: Document any custom settings
  4. Regular Schedule: Weekly or monthly backups

Update Procedures

  1. Backup Data: Export all data before updates
  2. Update Code: Pull latest changes from repository
  3. Install Dependencies: Update Python packages
  4. Test Functionality: Verify all features work correctly
  5. Restore Data: Import data if database was reset

Getting Help

  • Documentation: Refer to this manual and README.md
  • Code Comments: Check inline code documentation
  • Error Logs: Review Streamlit error messages
  • Community Support: Streamlit and Python communities

šŸ“‹ Quick Reference

Keyboard Shortcuts

  • Ctrl+R: Refresh page
  • Ctrl+F: Find in page
  • F5: Reload application

Common Operations

  1. Add Book: Book Management → Add Book
  2. Lend Book: Lending Operations → Lend Book
  3. Search Books: Book Management → Browse Books → Search
  4. View Reports: Reports & Analytics
  5. Export Data: Click Download CSV buttons

System Requirements

  • Minimum: Python 3.8, 4GB RAM, 1GB storage
  • Recommended: Python 3.9+, 8GB RAM, 2GB storage
  • Browser: Modern web browser (Chrome, Firefox, Safari, Edge)

šŸ“ž Contact & Support

For technical support or feature requests:

  • Repository: Check the project repository for issues
  • Documentation: Refer to this manual and README.md
  • Community: Engage with Streamlit and Python communities

This manual covers version 2.0 of the Library Management System. For updates and additional information, refer to the project repository and documentation.

Discussion

Share your thoughts and ask questions about this project

0 comments

No comments yet

Be the first to share your thoughts about this project!