A modern, secure web-based Library Management System built with Node.js, Express, and SQLite. Features a responsive design, real-time data management, and secure authentication for students and administrators.
- Student Registration & Login
- Admin Panel with advanced controls
- Secure session management
- Role-based access control (Student/Admin)
- Dynamic book catalog with categories
- Advanced search and filtering
- Real-time availability tracking
- Favorites/bookmarking system
- Category-based organization
- Dashboard with real-time statistics
- User management (CRUD operations)
- Book inventory control
- Feedback management system
- Activity monitoring and logging
- Fully responsive design (Mobile/Tablet/Desktop)
- Secure password hashing with bcrypt
- Rate limiting and security headers (Helmet)
- Express session management
- RESTful API architecture
- Node.js (v14 or higher)
- npm (v6 or higher)
# Clone the repository
git clone https://github.com/ahsanjust/LibraryManagementSystem.git
cd LibraryManagementSystem
# Install dependencies
npm install
# Start the server
npm start| Role | URL |
|---|---|
| Homepage | http://localhost:3000 |
| Student Login | http://localhost:3000/student-login |
| Admin Login | http://localhost:3000/admin-login |
LMS/
├── public/
│ ├── assets/
│ │ ├── css/ # Stylesheets
│ │ ├── js/ # Client-side JavaScript
│ │ └── images/ # Static images
│ └── views/ # HTML templates
├── config/ # Configuration files
├── docs/ # Documentation
├── server.js # Main server file
├── package.json # Dependencies & scripts
├── library.db # SQLite database
└── README.md # Project documentation
- Backend: Node.js, Express.js
- Database: SQLite3
- Security: bcryptjs, express-session, helmet, express-rate-limit
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Development: nodemon
npm start # Start production server
npm run dev # Start development server (with nodemon)
npm run db:init # Initialize database
npm run db:reset # Reset database- Password hashing with bcrypt
- Session-based authentication
- Rate limiting protection
- Helmet.js security headers
- SQL injection prevention (parameterized queries)
This project is licensed under the MIT License.
Ahsanul Haque
- GitHub: @ahsanjust
- University: Jessore University of Science and Technology
⭐ If you find this useful, please star the repository!