Welcome to the Library Management System (LMS) project! This MERN stack application empowers users to efficiently manage their library activities, including issuing, returning, and ordering books. The system also incorporates an admin panel for seamless administration of books, users, and their roles.
-
Book Operations:
- Issue a book
- Return a book
- Order a book if not available in the library
- Can keep track of his issued, returned and ordered books in user dashboard
-
Notification System:
- Receive notifications via Gmail when the book ordered by user is available in the library
- Notifications include the expected time of arrival of the ordered book by the user
- The web app sends a welcome message to the user upon registration
- User receives a notification regarding issue date and expected retrun date when an user issues the book
-
Limitations:
- Users can issue a maximum of 4 books at once
- To issue more, users must return a book before issuing another
-
Search Functionality:
- Utilize the search bar to find books based on their titles
-
Penalty System:
- If the user fails to return the book before or on the expected return date then user has to pay a fine of Rs. 1000/day (this is customisable by admin)
-
Infinite Scrolling:
- Enjoy the convenience of infinite scrolling for a seamless browsing experience
-
User and Book Management:
- Add or remove books from the library
- Remove users from the system
- Change the role of any user, including granting admin privileges
- User will never be able to access the admin panel without the correct credentials
-
Monitoring:
- Keep track of the number of users and their ordered books
- React
- React Router DOM
- Axios
- React Helmet
- React Hot Toast
- React Icons
- React Infinite Scroll Component
- Typewriter Effect
- Web Vitals
- Node.js
- Express
- Mongoose
- Bcryptjs
- CORS
- Dotenv
- Express Validator
- JSON Web Token (jsonwebtoken)
- Nodemailer
- Clone the repository.
- Install dependencies using
npm install
in both the client and server directories. - Run the application using
npm run dev
for concurrent frontend and backend development.
Feel free to explore and enhance the functionality of the Library Management System. If you have any questions or feedback, please reach out !! 📚✨