Skip to content

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.

Notifications You must be signed in to change notification settings

gr99murad/Library-management-system-client

Repository files navigation

📚 Library Management System

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.

🔗 Live URL

Library Management System


🚀 Key Features

  • 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.

🛠️ Technologies Used

Frontend

  • ⚛️ React
  • 🌍 React Router
  • 🎨 Tailwind CSS

Backend

  • ⚡ Express.js
  • 🛢️ MongoDB
  • 🟢 Node.js

Authentication & Hosting

  • 🔐 Firebase Authentication
  • ☁️ Firebase Hosting

Development & Deployment

  • 📦 dotenv - For managing environment variables
  • 🔗 Axios - For making HTTP requests
  • 🐙 GitHub - Version control and collaboration
  • 🚀 Vercel / Netlify - Alternative hosting platforms

📦 NPM Packages Used

  • ⚛️ 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.

🚀 Running the Project Locally

To run the Library Management System project locally, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/gr99murad/Library-Management-System.git
  2. Install Dependencies: Navigate to the project folder and install the necessary dependencies by running:
    npm i
  3. Create a Firebase Project: - Go to the Firebase Console - Create a new project and obtain the Firebase configuration keys for Authentication.
  4. Run the backend Server: Start the development server by running:
    nodemon index.js
    The app will be accessible at http://localhost:5000.
  5. Connect to Backend: Ensure the Express backend server is running. Update API URLs in the frontend if required.
  6. 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! 🎉

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages