Skip to content

adwityac/borrowbuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BorrowBuddy

A community-driven item-sharing platform that allows users to lend, borrow, and manage items with ease. Built with a full-stack architecture featuring React, Node.js, Express, and MongoDB, BorrowBuddy enables smooth item uploads, request handling, approval workflows, user dashboards, and secure authentication.

🚀 Overview

BorrowBuddy is a modern web app where users can:

  • Upload items they want to lend
  • Browse items uploaded by others
  • Request to borrow an item
  • Approve or reject requests for items they own
  • Track their outgoing and incoming requests
  • Manage their dashboard with clean UI and real-time updates

It aims to promote community sharing, sustainability, and resource efficiency.

🛠️ Tech Stack

Frontend

  • React (Vite)
  • TailwindCSS
  • Axios
  • React Router DOM
  • JWT-based protected routes

Backend

  • Node.js
  • Express.js
  • Multer (image uploads)
  • JWT authentication middleware

Database

  • MongoDB
  • Mongoose Models (User, Item, Request)

📦 Features

🔐 Authentication

  • JWT-based login & registration
  • Role-based access control

📤 Item Uploading

  • Upload item images (Multer)
  • Store title, description, owner, and availability

🛒 Browse Items

  • View, filter, and sort
  • Open detailed item pages
  • Request to borrow

🔁 Borrowing Flow

  • Request → Approve / Reject → Returned
  • Owner can approve or reject requests
  • Borrower can track their request status

📊 Dashboard

  • Monitor incoming requests
  • Track your active and past requests

📷 Screenshots

Screenshot 2025-11-22 203123

⚙️ Setup & Installation

1. Clone the repository

git clone https://github.com/adwityac/borrowbuddy.git
cd borrowbuddy

2. Install dependencies

Backend:

cd backend
npm install

Frontend:

cd frontend
npm install

3. Start servers

Backend:

npm run start

Frontend:

npm run dev

📡 API Routes (Summary)

Item Routes

Method Endpoint Description
POST /items Upload an item
GET /items Fetch all items
GET /items/:id Fetch a single item

Request Routes

Method Endpoint Description
POST /requests/:itemId Create borrow request
GET /requests/mine My requests
GET /requests/incoming Requests for my items
POST /requests/:id/approve Approve
POST /requests/:id/reject Reject
POST /requests/:id/returned Mark returned

📄 License

BorrowBuddy is released under the MIT License.

❤️ Contributing

Pull requests are welcome!
For major changes, open an issue first to discuss the update.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published