The LIBcore Library Management System is designed to streamline the way libraries manage book lending, user activity, and inventory. It replaces manual systems and spreadsheets with an interactive, multi-user networked application that makes library management easy, efficient, and scalable.
This system is particularly beneficial to libraries because:
- It supports multi-user concurrent access via a client-server architecture.
- Users (members) and staff have separate interfaces tailored to their roles.
- It maintains organized digital records of users, books, and loan history using structured text files.
- It includes logic to track late returns and automatically update resource availability.
Users can view all available books in a clean tabular format with columns for ID, Title, Author, Category, and Availability.
Staff can see which books are currently checked out and which are in stock.
Automatically identifies books not returned by the due date and flags them as overdue.
- Built using
Swing, the GUI is interactive and intuitive. - Members can browse, borrow, and return books easily.
- Staff can manage resources, view user data, export transactions, and perform admin actions.
git clone https://github.com/ttran569/libcore.git
cd libcore
git checkout ttran569-patch-1libcore/
├── src/
│ ├── client/
│ │ ├── member/ # Member GUI and client logic
│ │ │ └── MemberGUI.java, MemberClient.java
│ │ └── staff/ # Staff GUI and client logic
│ │ └── StaffGUI.java, StaffClient.java
│ ├── server/ # Server code and networking
│ │ ├── Server.java, ClientHandler.java
│ └── server/services/ # Business logic
│ └── ResourceManager.java, TransactionManager.java, UserManager.java
├── data/
│ ├── users.txt
│ ├── resources.txt
│ └── transactions.txt
- Start the server:
Run Server.java (Eclipse or CLI)- Run Staff or Member client on separate machines or windows:
Run StaffClient.java or MemberClient.javaClients communicate with the server via sockets.
users.txt: contains all user informationresources.txt: contains all book recordstransactions.txt: contains borrow/return history
- Core server-side logic
- Handles login, logout, view resources, borrow, return, export transactions
- Adds, edits, deletes, and checks availability of resources
- Updates
resources.txt
- Logs all transactions
- Exports and filters overdue books
- Displays user data from
users.txt
- GUI for staff
- Options to view/add books, view users, return/borrow, export logs
- GUI for members
- Simplified to borrow, return, and view available books
- Handles user sessions and session expiry (future-ready)
- Validates user login credentials from
users.txt
STAFF: Full access to resources and logsMEMBER: Can only borrow/return/view books
- Uses plain
.txtfiles instead of a DB for simplicity - Easily expandable to JDBC / MySQL / SQLite in the future
- Fully object-oriented, modular design using Java and Swing
This project was developed by Kartik Tripathi, Steven Le, Alejandro Fernandez and Thomas Tran. Contributions, forks, and feedback are welcome.
This project is for academic and educational use.
