This Library Management System is a powerful, full-stack application built using the MERN Stack (MongoDB, Express.js, React.js, and Node.js). It offers a comprehensive solution for modern library management, empowering administrators to efficiently manage books while providing users with a seamless experience for browsing, borrowing, and returning books.
🏆 Hosted on Vercel: Both frontend and backend are deployed on Vercel for optimal performance and reliability.
- 🔐 User Authentication:
- Secure sign-up, login, and logout functionality
- 👨💼 Admin Dashboard:
- Add, edit, and delete books
- Manage book requests
- 👤 User Dashboard:
- Browse available books
- Borrow and return books
- 📝 Book Requests:
- Users can request books
- Admins can manage these requests
- ☁️ Cloud Storage Integration:
- Book images stored using Cloudinary
- 📱 Responsive Design:
- Built with Tailwind CSS for a modern, responsive UI
.
├── Backend/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ └── utils/
└── Frontend/
└── myapp/
├── public/
└── src/
├── Components/
└── Pages/
└── Dashboards/
Click to view detailed structure
.
├── Backend/
│ ├── .gitignore
│ ├── db.js
│ ├── index.js
│ ├── package-lock.json
│ ├── package.json
│ ├── vercel.json
│ ├── middleware/
│ │ ├── authToken.js
│ │ └── multer.middleware.js
│ ├── models/
│ │ ├── BookRequest.js
│ │ ├── Books.js
│ │ └── user.js
│ ├── routes/
│ │ ├── admin.js
│ │ ├── bookRequest.js
│ │ ├── bookRoutes.js
│ │ └── user.js
│ └── utils/
│ └── cloudinary.js
└── Frontend/
└── myapp/
├── .gitignore
├── package-lock.json
├── package.json
├── README.md
├── tailwind.config.js
├── vercel.json
├── public/
│ ├── favicon.ico
│ └── index.html
└── src/
├── App.js
├── index.css
├── index.js
├── Components/
│ ├── AddBook.js
│ ├── BookCardSlider.js
│ ├── Carousel.js
│ ├── Footer.js
│ ├── Forgot.js
│ ├── HowItWorks.js
│ ├── Login.js
│ ├── Navbar.js
│ ├── Signup.js
│ └── Testimonial.js
└── Pages/
├── Home.js
└── Dashboards/
├── Admin-Dashboard.js
└── User-Dashboard.js
- ⚛️ React.js: Component-based JavaScript library for building user interfaces
- 🎨 Tailwind CSS: Utility-first CSS framework for styling
- 🚀 Vercel: Hosting platform for frontend deployment
- 🟢 Node.js: JavaScript runtime for server-side programming
- 🚂 Express.js: Web framework for Node.js to handle API requests
- 🍃 MongoDB: NoSQL database for storing book and user data
- ☁️ Cloudinary: Cloud storage for book images
- 🔗 Mongoose: ODM for MongoDB, used to define schemas and models
- 📁 Multer: Middleware for handling file uploads
- 🔑 JWT (JSON Web Token): Used for authentication
- 🚀 Vercel: Platform used to deploy the backend and frontend
- Node.js
- MongoDB
- Vercel CLI (optional for deployment)
- Navigate to the Backend folder:
cd Backend - Install dependencies:
npm install
- Create a
.envfile with your environment variables:MONGO_URI=your_mongodb_connection_string CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret
- Start the backend server:
npm start
- Navigate to the Frontend/myapp folder:
cd Frontend/myapp - Install dependencies:
npm install
- Start the frontend development server:
npm start
🌐 The app will run on
http://localhost:3000for the frontend andhttp://localhost:3001for the backend (assuming the backend is configured to run on port 3001).
Both the frontend and backend are deployed using Vercel. To deploy your own instance:
- Install Vercel CLI:
npm i -g vercel
- Navigate to your project directory and run:
vercel
- Follow the prompts to deploy your project.
📚 For more detailed instructions, refer to Vercel's deployment documentation.
Contributions are welcome! Feel free to fork the repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
For any queries or support, please open an issue on this repository.
Made with ❤️ by Surya Sekhar Sharma (SuryaX2)