Skip to content

marellatrivikrama-ui/Library-System-

Library Management System (Java)

A robust, console-based Java application designed to automate library workflows, including member registration, book inventory management, and transaction tracking.

🚀 Features

  • Automated Persistence: Uses Java Serialization to save and load data from .dat files, ensuring zero data loss between sessions.
  • Dynamic Inventory: Efficiently manage book records with real-time status updates (Available vs. Issued).
  • Member Tracking: Links books to specific member IDs to track accountability.
  • Smart Validation: Prevents duplicate entries and ensures books can only be issued to registered members.
  • Improved UX: Simulated loading states and formatted console output for a professional feel.

🛠️ Technical Stack

  • Language: Java 17+
  • Data Structures: HashMap (for $O(1)$ search efficiency), ArrayList.
  • I/O Handling: java.io.Serializable, ObjectInputStream/ObjectOutputStream.
  • Concurrency: Thread.sleep utilized for UI pacing.

📂 Project Structure

  • Member Class: Handles member attributes (ID, Name).
  • Book Class: Manages book metadata and issuance state.
  • LibrarySystem Class: The core engine containing CRUD operations, file persistence logic, and the user interface menu.

📖 How to Run

  1. Compile the code:
    javac LibrarySystem.java

About

A robust, console-based Java application designed to automate library workflows, including member registration, book inventory management, and transaction tracking.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages