A premium, feature-rich Library Management System built with the PERN-style stack (MySQL, Express, Vanilla JS). This project is designed to demonstrate advanced SQL concepts for academic projects.
- Open your MySQL client (XAMPP/MySQL Workbench).
- Run the code in
database/schema.sqlto create the database, tables, views, triggers, and procedures. - (Optional) Run
database/seeds.sqlto populate sample data.
- Navigate to the
backend/directory. - Install dependencies:
npm install
- Update
.envwith your MySQL credentials. - Start the server:
npm start
- Open
frontend/index.htmlin your browser. - Ensure the backend server is running on
http://localhost:5000.
- Modern UI: Glassmorphism design with responsive layouts.
- Dynamic Catalog: Fetch and filter books in real-time.
- Automated Inventory: SQL triggers handle book stock adjustments automatically.
- Safe Transactions: Book issuing is wrapped in SQL transactions for data integrity.
- Viva Documentation: Detailed
SQL_CONCEPTS.mdincluded.
backend/: Node.js + Express API server.frontend/: HTML, CSS, and Vanilla JS UI.database/: All SQL scripts and design files.SQL_CONCEPTS.md: Comprehensive explanation of SQL features used.
- DDL: CREATE, ALTER, DROP
- DML: INSERT, UPDATE, DELETE
- JOINs: INNER & LEFT JOINs
- Views: Virtual tables for active availability
- Triggers: Automation of stock count
- Cursors: Iterating through low-stock items
- Transactions: Ensuring ACID properties during book issuance
- Normalization: 3NF database design