Skip to content

BookCourier is a full-stack app that brings library books to your doorstep. Users can browse nearby libraries, request deliveries, or schedule pickups, making borrowing and returning books easy and convenient for students, researchers, and readers.

Notifications You must be signed in to change notification settings

Mahbub-Zaman/BookCourier-Client

Repository files navigation

📚 BookCourier – Library-to-Home Delivery System

BookCourier is a full-stack application designed to simplify library access by providing a library-to-home book delivery service. Users can browse available books from nearby libraries, request deliveries, or schedule pickups, all without needing to visit the library physically. The system benefits students, researchers, and avid readers by making borrowing and returning books more convenient, promoting reading, and enhancing access to library resources.


📷 Screenshot

HomePage Preview


🔗 Live Demo

🚀 Click Here to Explore BookCourier


📲 App Features

  • 📚 Browse Books: Explore a variety of books available in nearby libraries.
  • 🏠 Request Home Delivery: Get books delivered directly to your doorstep.
  • 🔄 Schedule Pickups & Returns: Arrange convenient times to borrow or return books.
  • 👩‍🎓 User Profiles: View profiles of users and libraries for a trusted experience.
  • 📖 Track Borrowing Status: Keep track of your requests, due dates, and returns.
  • 🌐 Access Anywhere: Borrow books without physically visiting the library.

🛠️ Tech Stack

  • 💻 Frontend: React.js, React Router, Axios, Tailwind CSS
  • 🎨 Styling & Components: Tailwind CSS, DaisyUI
  • ⚙️ Backend: Node.js, Express.js
  • 🗄️ Database: MongoDB, Mongoose
  • 🔒 Authentication: JWT (JSON Web Tokens), bcrypt
  • 🚀 Deployment: Vercel / Netlify (frontend), Render / Heroku (backend)
  • 🛠️ Other Tools: Postman (API testing), Git & GitHub (version control)
  • ✨ Animations: AOS (Animate on Scroll)
  • 🔔 Notifications: react-hot-toast, SweetAlert2
  • 🎠 Carousels & Sliders: Swiper.js
  • 🖼️ Images: Sourced from Pexels and hosted on imgbb
  • 📌 State Management: React Hooks (useState, useEffect, etc.)
  • 🎨 Icons: React Icons

📂 Project Structure

/project-folder
├── public/                 # Public assets like index.html
├── src/
│ ├── assets/               # Images, icons, media
│ ├── components/           # Reusable React components
│ ├── hooks/                # Custom React hooks
│ ├── layouts/              # Layout components for pages
│ ├── pages/                # Individual page components
│ ├── routes/               # Routing configuration files
│ ├── App.jsx               # Main App component
│ ├── index.css             # Base CSS
│ ├── App.css               # Global styles
│ └── main.jsx              # Entry point for React
├── .gitignore              # Git ignore file
├── package.json            # Project metadata & dependencies
├── package-lock.json       # Dependency lock
└── vite.config.js          # Vite configuration

⚙️ How It Works

  1. 📝 Sign Up / Login: Users create an account or log in to access the platform.
  2. 📖 Browse Books: Users can explore available books from nearby libraries.
  3. 🏠 Request Home Delivery: Users can request books to be delivered directly to their home.
  4. 🔄 Schedule Pickups & Returns: Users can arrange convenient times to borrow or return books.
  5. ✅ Approve / Reject Requests: Libraries or admins review book requests and approve or reject them.
  6. 📊 Track Borrowing Status: Users can see the status of their requests—approved, rejected, or pending.
  7. 🤝 Connect & Borrow: Once approved, users receive the books and return them on schedule, making library access convenient.

💻 Installation & Setup

Follow these steps to run the BookCourier project locally:

  1. Clone the repository:
git clone https://github.com/Mahbub-Zaman/BookCourier-Client.git
  1. Navigate to the project folder
cd BookCourier-Client
  1. Install dependencies
npm install
  1. Set up environment variables:

    • Create a .env file in the root directory.
    • Add the required variables (e.g., API URLs, JWT secret, etc.).
  2. Start the development server

npm run dev
  1. 🌐 Open in browser:

Navigate to http://localhost:5173 (or the port specified in your setup) to access the app.


📌 Future Improvements

  • 👁️ Admin will be able to view each user's profile for management purposes
  • 🤖 Add AI Chatbot to assist users in finding books and answering queries
  • 🌙 Improve Dark Mode UI for a better user experience
  • 🏛️ Enable Librarian Registration Process to manage library access
  • 📦 Track Book Quantity for inventory management
  • 🔍 Add Filtering Options by price, category, tags, or author
  • 📝 Allow Review Deletion or Hiding by Admin for moderation
  • 🎨 More UI Upgrades for a modern and intuitive interface
  • 🗺️ Integrate Google Maps to show nearby libraries and delivery routes

About

BookCourier is a full-stack app that brings library books to your doorstep. Users can browse nearby libraries, request deliveries, or schedule pickups, making borrowing and returning books easy and convenient for students, researchers, and readers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages