A simple, Object-Oriented Programming (OOP) based Library Management System built with Python and Streamlit. This application allows for managing books, members, and borrowing operations through a user-friendly web interface.
- Dashboard: View real-time statistics about the library's collection, including total books, total members, and currently borrowed books.
- Book Management:
- View Books: Browse the entire collection of books.
- Filter: Filter books by their availability status (Available/Borrowed).
- Add Books: (Admin) Add new books to the library with details like Title, Author, ISBN, and Genre.
- Member Management:
- Register Member: Sign up new members with their Name, Email, and a unique Member ID.
- View Members: List all registered members.
- ** borrowing Operations**:
- Borrow Book: Allow members to borrow available books using their Member ID and the Book's ISBN.
- Return Book: Process book returns and update inventory availability.
- Data Persistence: All data (books and members) is saved persistently in JSON files, ensuring data is not lost between sessions.
- Language: Python 3.x
- Frontend Framework: Streamlit
- Data Handling: Pandas, JSON (for local storage)
- Concepts: Object-Oriented Programming (Classes, Inheritance, Encapsulation)
├── app.py # Main Streamlit application file containing the UI logic
├── models.py # Python classes defining the data models (Library, Book, Member, Person)
├── data/ # Directory for storing persistent data
│ ├── books.json # JSON file storing book records
│ └── members.json # JSON file storing member records
└── README.md # Project documentation
-
Clone the repository (if applicable) or copy the project files to your local machine.
-
Install Dependencies: Make sure you have Python installed. Then, install the required libraries:
pip install streamlit pandas
-
Run the Application: Navigate to the project directory in your terminal and run:
streamlit run app.py
-
Access the App: The application will automatically open in your default web browser (usually at
http://localhost:8501).
- Dashboard: Start here to see an overview of the library system.
- Admin: Use the Admin tab to populate the library with some initial books.
- Members: Register a new member to enable borrowing.
- Borrow/Return: Use the respective tabs to simulate the lending process.
- Classes & Objects: Core entities like
Book,Member, andLibraryare encapsulated as classes. - Inheritance: The
Memberclass inherits from a basePersonclass. - Encapsulation: Data and methods acting on that data are bundled together within classes.
Developed by: Varun Bothra Class: 2X15 Dept: Computer Science(OOPS Project)