A full-featured desktop Library Management System built with Java Swing and MySQL, designed to streamline day-to-day library operations for administrators, librarians, and patrons.
The GoodRead Library Management System provides a complete solution for managing library resources. It supports multi-role access (Admin & Librarian), enabling efficient handling of books, members, and borrowing transactions through an intuitive GUI built with Java Swing and NetBeans.
- Secure admin login
- Add, edit, and remove Librarians
- Full oversight of all library operations
- Add new books with full details (Title, Author, Publisher, ISBN, Year)
- Edit and update existing book records
- Track book availability and stock count
- View all books in a searchable table
- Register new patrons with personal and contact details
- Edit patron profiles
- Track borrowing history per patron
- Manage borrow dates and return deadlines
- Dedicated librarian login and profile management
- Manage patron records and book checkouts
- View and update book status
- Browse all books and filter by availability
- View detailed book and patron profiles
LibraryManagement/
β
βββ source/goodread/library/ # All Java source & NetBeans form files
β βββ GoodReadLibrary.java # Main entry point
β β
β βββ MenuPage.java / .form # Main menu UI
β βββ LogInPage.java / .form # Librarian login
β βββ AdminLogIn.java / .form # Admin login
β βββ Admin.java / .form # Admin dashboard
β β
β βββ AddBooks.java / .form # Add new book
β βββ EditBooks.java / .form # Edit book details
β βββ ManageBooks.java / .form # Book management view
β βββ ViewBook.java / .form # View single book
β βββ ViewingBooks.java / .form # Browse all books
β β
β βββ AddLibrarian.java / .form # Add librarian
β βββ EditLibrarian.java / .form # Edit librarian
β βββ ManageLibrarian.java / .form# Manage librarians
β βββ LibProfile.java / .form # Librarian profile
β β
β βββ AddPatrons.java / .form # Add new patron
β βββ EditPatron.java / .form # Edit patron info
β βββ ManagePatrons.java / .form # Admin patron view
β βββ ManagePatronsLib.java / .form # Librarian patron view
β βββ newPatron.java / .form # New patron form
β βββ ViewProfile.java / .form # View patron profile
β
βββ sql/
β βββ schema.sql # Full database schema & table definitions
β
βββ .gitignore # Ignores build/, dist/, .class files
βββ build.xml # NetBeans Ant build file
βββ manifest.mf # JAR manifest
βββ README.md
This project uses MySQL. Follow the steps below to set up the database.
CREATE DATABASE GoodRead;
USE GoodRead;CREATE TABLE books (
sno INT AUTO_INCREMENT PRIMARY KEY,
BookID VARCHAR(255) NOT NULL,
BookTitle VARCHAR(255) NOT NULL,
Author VARCHAR(255) NOT NULL,
Publisher VARCHAR(255),
Year INT,
ISBN VARCHAR(13),
NumberOfBooks INT,
Status VARCHAR(50),
Available TINYINT(1)
);CREATE TABLE patrons (
PatronID INT AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100),
SecondName VARCHAR(100),
Email VARCHAR(100),
City VARCHAR(100),
Contact VARCHAR(50),
Address TEXT,
BookTitle VARCHAR(200),
borrowDate TIMESTAMP,
endDate TIMESTAMP
);CREATE TABLE Librarian (
librarianID INT AUTO_INCREMENT PRIMARY KEY,
Username VARCHAR(100) NOT NULL UNIQUE,
Password VARCHAR(100) NOT NULL,
FirstName VARCHAR(100) NOT NULL,
SecondName VARCHAR(100),
Address TEXT,
Email VARCHAR(100) NOT NULL UNIQUE,
City VARCHAR(100),
Contact VARCHAR(50),
CNIC VARCHAR(20)
);In the source code, locate the database connection class and update the credentials:
String url = "jdbc:mysql://localhost:3306/GoodRead";
String username = "your_mysql_username";
String password = "your_mysql_password";π‘ Make sure the MySQL JDBC Connector (mysql-connector-j) JAR is added to your project's library classpath in NetBeans.
| Tool | Version |
|---|---|
| Java (JDK) | 8 or higher |
| NetBeans IDE | 12+ (recommended) |
| MySQL Server | 5.7 or higher |
| MySQL JDBC Driver | mysql-connector-j |
git clone https://github.com/RadhikaKapoor383/LibraryManagement.git
cd LibraryManagement- Open MySQL Workbench or any SQL client
- Run all SQL statements from the Database Setup section above
- Update the DB credentials in the source code
- Launch NetBeans IDE
- Go to
File β Open Projectand select theLibraryManagementfolder - Add the MySQL JDBC Connector JAR to the project libraries:
- Right-click project β
Properties β Libraries β Add JAR/Folder
- Right-click project β
- Click
Run β Run Project(or pressF6) - The application will launch starting at the Menu Page
MenuPage
βββ Admin Login β Admin Dashboard
β βββ Manage Librarians (Add / Edit / Remove)
β βββ Full System Access
β
βββ Librarian Login β Librarian Dashboard
βββ Manage Books (Add / Edit / View)
βββ Manage Patrons (Add / Edit / Borrow / Return)
| Layer | Technology |
|---|---|
| Language | Java |
| GUI Framework | Java Swing (NetBeans Form Editor) |
| IDE | Apache NetBeans |
| Build Tool | Apache Ant (build.xml) |
| Database | MySQL |
| DB Connectivity | JDBC (MySQL Connector/J) |
This project is licensed under the terms of the LICENSE file included in this repository.
Radhika Kapoor
GitHub: @RadhikaKapoor383
β If you found this project helpful, please consider giving it a star on GitHub!