Skip to content

codinggita/rentease

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

Repository files navigation

πŸš€ RentEase – Local Item Rental Platform

React TailwindCSS Node.js Express MongoDB License

RentEase is a full-stack web application that allows users to rent and lend items within their local community. Instead of buying expensive products that are only used occasionally, users can rent items from others nearby.

The platform helps people save money, reduce waste, and utilize resources efficiently by creating a peer-to-peer rental marketplace.

This project demonstrates modern full-stack development using React, Tailwind CSS, Node.js, Express.js, and MongoDB.


πŸ“Œ Overview

Many people purchase items that are rarely used, such as cameras, tools, speakers, or projectors. These items often remain unused most of the time.

RentEase solves this problem by allowing users to:

  • List items they want to rent out
  • Search for items available nearby
  • Filter and sort rental listings
  • Connect with item owners easily

The platform creates a community-driven rental marketplace.


✨ Key Features

πŸ” Authentication System

  • Secure user Signup and Login
  • Password validation
  • Authentication state stored using LocalStorage
  • Protected routes for authenticated users

πŸ“¦ Item Listings (CRUD Operations)

Users can:

  • Create a rental listing
  • View available items
  • Update item details
  • Delete their listings

Example listing:

Item: DSLR Camera
Price: β‚Ή500/day
Location: Ahmedabad
Category: Electronics

πŸ”Ž Search, Filtering & Sorting

Users can easily find items using:

  • Search by item name
  • Filter by category
  • Filter by location
  • Sort by price or newest listings

⚑ Debounced Search

Search functionality uses debouncing to prevent unnecessary API calls while typing, improving performance and user experience.


πŸ“„ Pagination

Pagination is implemented to efficiently handle large datasets.

Example:

Page 1 | Page 2 | Page 3

MongoDB uses:

  • limit()
  • skip()

for backend pagination.


🎨 Theme Support

  • Light Mode / Dark Mode toggle
  • Theme preference persistence

πŸ“± Fully Responsive UI

The application is responsive and optimized for:

  • Desktop
  • Tablet
  • Mobile devices

Built using Tailwind CSS.


⚠ Error Handling

  • Backend error responses using try–catch
  • Frontend loading states and error messages

πŸ›  Technology Stack

Frontend

  • React.js

  • Tailwind CSS

  • React Router

  • React Hooks

    • useState
    • useEffect
    • useRef
    • useContext

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

πŸ“‚ Project Structure

RentEase/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   └── App.jsx
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ middleware/
β”‚   └── server.js
β”‚
└── README.md

🌐 Application Pages

  • Home Page
  • Signup Page
  • Login Page
  • Dashboard
  • Item Listings
  • Post Item Page
  • Profile / Settings

βš™ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/your-username/rentease.git

2️⃣ Navigate to Project Directory

cd rentease

3️⃣ Backend Setup

cd backend
npm install

Start the backend server:

npm run dev

4️⃣ Frontend Setup

cd ../frontend
npm install

Run the frontend application:

npm run dev

πŸ”‘ Environment Variables

Create a .env file in the backend directory and add:

PORT=5000
MONGODB_URI=your_mongodb_connection_string

πŸ”Œ API Endpoints

Example API routes:

POST   /api/auth/signup
POST   /api/auth/login

GET    /api/items
POST   /api/items
PUT    /api/items/:id
DELETE /api/items/:id

🚧 Future Improvements

  • Online booking system
  • Payment integration
  • Rating and review system
  • Chat between renter and owner
  • Map-based location search
  • Image upload for items

🌐 Live Demo

(Add deployed project link here)

Example:

https://rentease-demo.vercel.app

πŸ‘¨β€πŸ’» Author

Project Name: RentEase Purpose: Full Stack Hackathon Project Developer: Your Name


πŸ“œ License

This project is created for educational and demonstration purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors