A modern, full-stack Library Management System built with the MERN stack
BookWorm is a modern, full-stack Library Management System built using the MERN stack, designed to manage books, users, borrowing records, and administrative workflows with a clean UI and secure authentication.
This project follows real-world development practices, scalable architecture, and production-level standards.
- User registration with Email OTP verification
- Secure login & logout using JWT
- Forgot password & reset password via email
- Role-based access (Admin / User)
- Add books with images (Cloudinary)
- Update book details
- Delete books
- Manage quantity & availability
- Read book details in popup UI
- Borrow books using verified email
- Prevent duplicate borrowing
- Auto-update book quantity
- Track borrow & return status
- Borrow history for users & admins
- Admin dashboard with:
- Total books
- Borrowed vs available books
- User statistics
- Pie-chart analytics
- User dashboard showing borrowed books
- Clean Black & White theme
- Light / Dark mode
- Fully responsive design
- Smooth animations & popups
- Toast notifications
- OTP verification emails
- Password reset emails
- Branded HTML templates
- Powered by Resend / Nodemailer
- React (Vite)
- Redux Toolkit
- React Router DOM
- Tailwind CSS
- Chart.js
- Lucide Icons
- React Toastify
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT Authentication
- Bcrypt
- Cloudinary
- Nodemailer / Resend
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
- Domain: GoDaddy
BookWorm/
│
├── client/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── popups/
│ │ ├── layout/
│ │ ├── store/
│ │ ├── App.jsx
│ │ └── main.jsx
│
├── server/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middlewares/
│ ├── utils/
│ ├── config/
│ ├── app.js
│ └── server.js
│
├── .env
├── package.json
└── README.md
PORT=3000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
JWT_EXPIRE=7d
CLOUDINARY_CLOUD_NAME=xxxx
CLOUDINARY_API_KEY=xxxx
CLOUDINARY_API_SECRET=xxxx
RESEND_API_KEY=your_resend_api_key
FRONTEND_URL=http://localhost:5173
VITE_BACKEND_URL=http://localhost:3000git clone https://github.com/jay1535/BookWorm.git
cd client
npm install
npm run dev
---
cd server
npm install
npm run dev
Jayant R Habbu
4rd Year Computer Science Student
Full-Stack Developer (MERN)
Passionate about building scalable, real-world web applications
🚀 BookWorm is live on Vercel
👉 Live URL: https://bookworm-steel.vercel.app/
Deployed using Vercel (Frontend) and Render (Backend)
Custom domain support enabled via GoDaddy
