Nexus Library System is a next-generation academic resource management application designed to organize and track library holdings efficiently. It features a modern, glassmorphic UI built with HTML/CSS/JS and a structured PHP backend API for handling database operations.
- Modern UI: A responsive, fully custom-designed CSS interface using real-time styling properties (no external framework required).
- View Catalog: Read all available and reserved books in real-time.
- Add Records: Seamlessly enter new acquisitions into the catalog.
- Manage System: Update existing record details or delete outdated/lost books.
- State Labels: Distinct status tagging for books ("Available", "Borrowed", "Reserved", "Lost").
- RESTful-like API Structure: PHP scripts are cleanly separated into an
apidirectory representing CRUD actions.
library_system/
├── index.html # Landing page
├── add.html # Interface to add a new book
├── view.html # Interface to view the catalog
├── manage.html # Interface to update and delete books
├── README.md # Project documentation
│
├── assets/
│ └── css/
│ └── styles.css # Main stylesheet with glassmorphism design
│
└── api/ # PHP Backend API endpoints
├── db.php # Database connection configuration
├── create.php # Handles POST requests to add a book
├── read.php # Handles GET requests to retrieve all books
├── update.php # Handles POST requests to update a book
└── delete.php # Handles POST requests to delete a book
This project requires a standard PHP/MySQL environment. Recommended stacks include XAMPP, MAMP, or WAMP.
- Clone the repository into your local server's document root (e.g.,
htdocsfor XAMPP orMAMP/htdocsfor MAMP). - Ensure you have the folder exactly structured as cloned, so HTML files can properly resolve paths to
assets/andapi/.
- Open PhpMyAdmin or your preferred SQL client.
- Create a new database named
library_db. - Create a
bookstable with the following structure:CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `author` varchar(255) NOT NULL, `category` varchar(100) NOT NULL, `status` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- Open
api/db.php. - Update the credentials if they differ from your local setup:
- Default MAMP setup used:
$user = "root";/$password = "root"; - Default XAMPP setup usually requires:
$user = "root";/$password = "";
- Default MAMP setup used:
Open your browser and navigate to the project directory, for example: http://localhost/library_system/index.html
- HTML5 & Vanilla Javascript (ES6)
- Vanilla CSS3 (Flexbox, Grid, Custom Properties, Glassmorphism)
- PHP (Backend API logic connecting to Database via
mysqli) - MySQL (Database Layer)