Skip to content

keshavMM004/OpenShelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenShelf

A simple Java Swing-based Library Management System for managing books, issuing/returning books, and searching the library collection. This project demonstrates basic CRUD operations, file-based persistence, and a user-friendly GUI.

Features

  • Add, Delete, Issue, and Return Books
  • Track Total Copies, Issued Copies, and Remaining Copies
  • Search Books by Title
  • Tabbed Interface for Viewing and Managing Books
  • Persistent Storage using library.dat

Screenshots

View/Search Tab Manage Tab Book Added

Getting Started

Prerequisites

  • Java JDK 8 or higher

Running the Application

  1. Open a terminal in the Project folder.
  2. Compile all Java files:
    javac *.java
    
  3. Run the application:
    java LibraryApp
    
    Or, if needed:
    java -cp . LibraryApp
    

Data Persistence

  • All book data is stored in library.dat in the Project folder.
  • The app loads books from this file on startup and saves changes automatically.

Project Structure

Project/
	Book.java            # Book model class
	BookTableModel.java  # Table model for displaying books
	DataStore.java       # Handles saving/loading books to/from file
	Library.java         # Main library logic
	LibraryApp.java      # Application entry point (main window)
	ManagePanel.java     # Panel for adding, deleting, issuing, returning books
	ViewPanel.java       # Panel for viewing/searching books
	library.dat          # Serialized data file (auto-created)

How to Use

  • View/Search Tab:
    • See all books in the library.
    • Search by title using the search box.
    • Columns: ID, Title, Author, Total Copies, Issued Copies, Remaining Copies.
  • Manage Tab:
    • Add a new book (ID, Title, Author, Total Copies).
    • Delete a book by ID.
    • Issue or return a book by ID.

License

This project is for educational purposes. Feel free to use and modify it for your own learning or projects.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages