Skip to content

BookWorm is a modern, full-stack library management system built using the MERN stack. It provides secure authentication, efficient book management, and a smooth borrowing workflow through a clean, user-friendly interface designed with real-world use cases in mind.

Notifications You must be signed in to change notification settings

jay1535/BookWorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 

Repository files navigation

BookWorm Logo BookWorm – Library Management System

A modern, full-stack Library Management System built with the MERN stack

📖 About BookWorm

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.


🚀 Features

👤 Authentication & Authorization

  • User registration with Email OTP verification
  • Secure login & logout using JWT
  • Forgot password & reset password via email
  • Role-based access (Admin / User)

📖 Book Management (Admin)

  • Add books with images (Cloudinary)
  • Update book details
  • Delete books
  • Manage quantity & availability
  • Read book details in popup UI

📚 Borrowing System

  • Borrow books using verified email
  • Prevent duplicate borrowing
  • Auto-update book quantity
  • Track borrow & return status
  • Borrow history for users & admins

📊 Dashboard & Analytics

  • Admin dashboard with:
    • Total books
    • Borrowed vs available books
    • User statistics
    • Pie-chart analytics
  • User dashboard showing borrowed books

🎨 UI & UX

  • Clean Black & White theme
  • Light / Dark mode
  • Fully responsive design
  • Smooth animations & popups
  • Toast notifications

📧 Email System

  • OTP verification emails
  • Password reset emails
  • Branded HTML templates
  • Powered by Resend / Nodemailer

🛠 Tech Stack

Frontend

  • React (Vite)
  • Redux Toolkit
  • React Router DOM
  • Tailwind CSS
  • Chart.js
  • Lucide Icons
  • React Toastify

Backend

  • Node.js
  • Express.js
  • MongoDB (Mongoose)
  • JWT Authentication
  • Bcrypt
  • Cloudinary
  • Nodemailer / Resend

Deployment

  • Frontend: Vercel
  • Backend: Render
  • Database: MongoDB Atlas
  • Domain: GoDaddy

📂 Project Structure


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


🔐 Environment Variables

Backend (server/.env)

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:3000

⚙️ Installation & Setup

git clone https://github.com/jay1535/BookWorm.git

cd client
npm install
npm run dev

---

cd server
npm install
npm run dev


👨‍💻 Author

Jayant R Habbu
4rd Year Computer Science Student
Full-Stack Developer (MERN)
Passionate about building scalable, real-world web applications


🌐 Live Website

🚀 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


About

BookWorm is a modern, full-stack library management system built using the MERN stack. It provides secure authentication, efficient book management, and a smooth borrowing workflow through a clean, user-friendly interface designed with real-world use cases in mind.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors