The Library Management System is designed to manage book information for a well-renowned school. It allows users to browse, categorize, and borrow books with ease. The system provides a user-friendly interface, secure data handling, and efficient book tracking, enhancing the library experience for students and staff.
- Responsive Design: Fully responsive, ensuring a seamless experience across various devices.
- Navbar: Contains options like 'Home,' 'AllBooks,' 'AddBook,' 'BorrowedBooks,' 'Login,' and 'Register.' The 'Login' and 'Register' buttons are conditionally displayed based on user authentication status.
- Home Page: Features a banner/slider with at least 3 informative slides, Book Categories Section, and 2 additional sections to engage users.
- AllBooks Page: Displays a list of all available books with a 'Details' button for each book.
- Details Page: Provides comprehensive information about each book and includes a 'Borrow' button, which opens a modal with a form for borrowing the book.
- Borrowed Books: Tracks the books that users have borrowed, along with return dates.
- Book Management: Allows adding, categorizing, and updating book information.
- Protected Routes: Ensures that certain routes are accessible only to authenticated users.
- Firebase & MongoDB Security: Ensures secure handling of Firebase and MongoDB credentials.
- ⚛️ React
- 🌍 React Router
- 🎨 Tailwind CSS
- ⚡ Express.js
- 🛢️ MongoDB
- 🟢 Node.js
- 🔐 Firebase Authentication
- ☁️ Firebase Hosting
- 📦 dotenv - For managing environment variables
- 🔗 Axios - For making HTTP requests
- 🐙 GitHub - Version control and collaboration
- 🚀 Vercel / Netlify - Alternative hosting platforms
- ⚛️ React: A JavaScript library for building user interfaces.
- 🌍 React Router: For handling routing within the application.
- 🔗 Axios: For making HTTP requests to the backend API.
- 🔐 Firebase: For authentication and hosting.
- 🛢️ MongoDB: As the database to store book information.
- ⚡ Express.js: A web application framework for Node.js.
- 🟢 Node.js: For backend development.
- 🛠️ dotenv: For managing environment variables.
To run the Library Management System project locally, follow these steps:
- Clone the Repository:
git clone https://github.com/gr99murad/Library-Management-System.git - Install Dependencies:
Navigate to the project folder and install the necessary dependencies by running:
npm i - Create a Firebase Project: - Go to the Firebase Console - Create a new project and obtain the Firebase configuration keys for Authentication.
- Run the backend Server:
Start the development server by running:
The app will be accessible at
nodemon index.jshttp://localhost:5000. - Connect to Backend: Ensure the Express backend server is running. Update API URLs in the frontend if required.
- Enjoy! local instance of the Library Management System should now be up and running.
📌 Feel free to contribute, explore, and enhance the Library Management System! 🎉
