RentEase is a high-fidelity rental marketplace where users can browse, search, and rent high-end electronics and equipment. The platform features a premium Flipkart-inspired UI with full dark mode support and responsive design.
- Framework: React.js + Vite
- Styling: Tailwind CSS
- Animations: Framer Motion
- State Management: Context API (Auth, Theme, Wishlist)
- Forms: React Hook Form + Zod Validation
- Icons: Lucide React
- Runtime: Node.js + Express.js
- Database: MongoDB + Mongoose
- Auth: JWT + bcryptjs
- Browse & Filter: Advanced search and filtering system for gear.
- Product Details: Rich product pages with image galleries and trust signals.
- User Dashboard: Account overview, listings management, and booking history.
- Authentication: Mock Login/Signup flow with secure validation.
- Theme Engine: Seamless toggle between Light and Dark modes.
- Node.js (v16 or higher)
- npm or yarn
cd clientnpm installnpm run dev
cd servernpm install- Create
.envbased on.env.example npm run dev
- 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.
- Secure user Signup and Login
- Password validation
- Authentication state stored using LocalStorage
- Protected routes for authenticated users
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
Users can easily find items using:
- Search by item name
- Filter by category
- Filter by location
- Sort by price or newest listings
Search functionality uses debouncing to prevent unnecessary API calls while typing, improving performance and user experience.
Pagination is implemented to efficiently handle large datasets.
Example:
Page 1 | Page 2 | Page 3
MongoDB uses:
limit()skip()
for backend pagination.
- Light Mode / Dark Mode toggle
- Theme preference persistence
The application is responsive and optimized for:
- Desktop
- Tablet
- Mobile devices
Built using Tailwind CSS.
- Backend error responses using tryβcatch
- Frontend loading states and error messages
-
React.js
-
Tailwind CSS
-
React Router
-
React Hooks
- useState
- useEffect
- useRef
- useContext
- Node.js
- Express.js
- MongoDB
- Mongoose
RentEase/
β
βββ frontend/
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ context/
β β βββ hooks/
β β βββ App.jsx
β
βββ backend/
β βββ models/
β βββ routes/
β βββ controllers/
β βββ middleware/
β βββ server.js
β
βββ README.md
- Home Page
- Signup Page
- Login Page
- Dashboard
- Item Listings
- Post Item Page
- Profile / Settings
git clone https://github.com/your-username/rentease.git
cd rentease
cd backend
npm install
Start the backend server:
npm run dev
cd ../frontend
npm install
Run the frontend application:
npm run dev
Create a .env file in the backend directory and add:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
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
- Online booking system
- Payment integration
- Rating and review system
- Chat between renter and owner
- Map-based location search
- Image upload for items
(Add deployed project link here)
Example:
https://rentease-demo.vercel.app
Project Name: RentEase Purpose: Full Stack Hackathon Project Developer: Your Name
This project is created for educational and demonstration purposes.