Library administration involves organizing, maintaining, and tracking intricate details about thousands of books, student enrollments, and daily borrowing activities. Traditionally, university and school libraries rely on manual ledgers and physical cataloging cards, leading to inventory misplacement, data loss, and severe inefficiency when attempting to track overdue items.
The Library Management System provides a comprehensive digital platform to completely automate this process using Java Swing and MySQL. It offers a sleek, modernized user interface where administrators can seamlessly input student details, dynamically catalog new book arrivals, process issuance and return transactions, and manage extensive records with ease.
Aim: To design and implement a comprehensive Java-based application for managing core library operations with MySQL as the backend database, providing an intuitive and modern interface.
Objectives:
- To establish a secure JDBC connection between the Java application and the MySQL relational database.
- To design a highly modernized, user-friendly Graphical User Interface (GUI) using Java Swing.
- To implement robust CRUD (Create, Read, Update, Delete) functionalities for actively managing both student enrollment records and the book inventory.
- To securely process transactional operations, specifically automating book issuances, returns, and real-time inventory quantity adjustments.
- To develop an automated auditing feature that utilizes advanced SQL querying to track overdue books and instantly generate a dynamic "Defaulters List".
- To demonstrate the effective use of Object-Oriented Programming (OOP) principles such as encapsulation and modularity.
This project has been extensively modified from its base architecture to fit specific academic and aesthetic requirements:
- Complete Rebranding: Removed all instances of the original developer's name ("Naveenkumar J") from the codebase and overhauled the application headers to proudly display "PEERT415 - JAVA PROGRAMMING APPLICATION DEVELOPMENT".
- Cloud Architecture Migration: Successfully migrated the legacy local-only storage to a high-availability Railway Cloud Database. This ensures that the application data is persistent across different machines without requiring manual MySQL imports on every setup.
- Cross-Platform Launchers: Developed specialized startup scripts (
Run-Quick-Start.batfor Windows andRun-Quick-Start.shfor Mac/Linux) to handle classpath dependencies and compilation automatically. - Dark Mode Neon Aesthetics: Overhauled the application's visual identity using a custom Java regex script to map hardcoded RGB values to a premium Charcoal Black, Neon Cyan, and Electric Purple palette.
- Dynamic Scrolling Injections: Injected custom
setupScrolling()methods to ensure the UI remains fully functional on compact 768p laptop resolutions.
Choose your operating system and follow the steps below to get the system running in seconds.
- Open PowerShell as Administrator.
- Install Requirements (Git and Java):
winget install -e --id Git.Git winget install -e --id Microsoft.OpenJDK.17
- Clone & Run:
Open a new terminal window in your desired folder and paste:
# 1. Clone the repository git clone https://github.com/abhishek4me/Library-Management-System-using-Java-cloud_database.git # 2. Enter the directory cd Library-Management-System-using-Java-cloud_database # 3. Launch the Quick Start script .\Run-Quick-Start.bat
- Open Terminal.
- Install Homebrew (If you don't have it):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Install Requirements (Git and Java):
brew install git brew install openjdk@17
- Clone & Run:
# 1. Clone the repository git clone https://github.com/abhishek4me/Library-Management-System-using-Java-cloud_database.git # 2. Enter the directory cd Library-Management-System-using-Java-cloud_database # 3. Grant permission and launch chmod +x Run-Quick-Start.sh ./Run-Quick-Start.sh
Note
Database Connectivity: The application is pre-configured to connect to a secure Railway Cloud Proxy. You do not need to set up a local MySQL server or WAMP/XAMPP.
| Role | Username | Password |
|---|---|---|
| Admin | admin |
admin |
| Guest | guest |
guest |
- Login / Logout Module
- Interactive Metric Dashboard
- Manage Book Inventories
- Manage Student Enrollments
- Transaction: Issue Book
- Transaction: Return Book
- Audit: View Transaction Ledgers
- Audit: Defaulters List