Back to Projects
ShelfMaster – Library Management System

ShelfMaster – Library Management System

React.jsReduxExpress.jsMongoDB

About the Project

ShelfMaster is a full-stack library management system that allows librarians to manage book inventory, track borrowing history, and manage member records. The frontend is built with React.js and Redux Toolkit, using RTK Query for efficient server-state management and caching. The backend is an Express.js REST API connected to MongoDB. Key features include CRUD operations for books, borrow/return workflows with due date tracking, and a dashboard with statistics. The app is deployed on Vercel with CI/CD via GitHub Actions.

Challenges Faced

  • Synchronizing the borrow/return state between multiple concurrent admin sessions without stale UI updates — solved using RTK Query's cache invalidation tags.
  • Designing a normalized Redux store structure that scales cleanly as features were added without creating deeply nested state.
  • Handling pagination and search efficiently at the database level using MongoDB indexes rather than filtering in-memory.

🚀 Future Plans & Improvements

  • Add a member-facing portal where library members can browse the catalog, see their borrowing history, and renew books online.
  • Implement email/SMS reminders for overdue books using a Node.js cron job with Nodemailer.
  • Add role-based access control so different staff members have different permission levels.