HouseRental is a full-stack MERN (MongoDB, Express.js, React.js, Node.js) web application that connects property owners with tenants looking for rental properties. The platform allows users to browse rental listings, view property details, submit booking requests, and manage rental properties efficiently.
- User Registration & Login
- Secure Authentication
- Role-Based Access Control
- Add New Properties
- Update Property Details
- Delete Property Listings
- View Available Properties
- Property Status Management (Available/Booked)
- Search by Location
- Filter by Price Range
- Property Type Filtering
- Amenities-Based Search
- Saved Searches
- Submit Booking Requests
- Track Booking Status
- Booking History Management
- Owner Approval/Rejection System
- View Owner Details
- Contact Property Owners
- Direct Communication Between Tenant and Owner
- Manage Users
- Approve Owner Requests
- Monitor Property Listings
- Platform Management & Security
- React.js
- React Router
- Axios
- CSS / Bootstrap / Tailwind (depending on your implementation)
- Node.js
- Express.js
- REST API
- MongoDB
- Mongoose ODM
- JWT (JSON Web Token)
- Bcrypt Password Hashing
HouseHunt/
โ
โโโ client/ # React Frontend
โ โโโ src/
โ โโโ public/
โ โโโ package.json
โ
โโโ server/ # Node.js Backend
โ โโโ controllers/
โ โโโ models/
โ โโโ routes/
โ โโโ middleware/
โ โโโ config/
โ โโโ server.js
โ
โโโ screenshots/
โโโ README.md
โโโ package.jsonThe application follows a Client-Server Architecture:
- Handles UI and User Interactions
- Displays Property Listings
- Sends API Requests to Backend
- Processes Business Logic
- Handles Authentication
- Manages Property & Booking APIs
Stores:
- User Data
- Property Listings
- Booking Records
- Administrative Data
- Register/Login
- Search Properties
- View Property Details
- Contact Owners
- Submit Booking Requests
- Track Booking Status
- Add Properties
- Update Property Listings
- Delete Properties
- Manage Booking Requests
- Update Property Availability
- Approve Owner Requests
- Manage Users
- Monitor Platform Activities
- Maintain System Security
{
name,
email,
phone,
password,
userType,
profileImage,
currentLocation
}{
ownerId,
title,
description,
location,
rentAmount,
propertyType,
furnishingStatus,
amenities,
images,
status
}{
propertyId,
tenantId,
startDate,
endDate,
bookingDate,
status
}POST /api/auth/register
POST /api/auth/loginGET /api/properties
GET /api/properties/:id
POST /api/properties
PUT /api/properties/:id
DELETE /api/properties/:idPOST /api/bookings
GET /api/bookings
PUT /api/bookings/:idgit clone https://github.com/yourusername/househunt.git
cd househuntcd server
npm installcd ../client
npm installCreate a .env file inside the server folder:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keycd server
npm startcd client
npm start- Online Rent Payment Integration
- Real-Time Chat System
- Google Maps Integration
- Property Recommendation System
- Email & SMS Notifications
- Wishlist / Favorite Properties
- AI-Based Property Suggestions
Contributions are welcome.
- Fork the Repository
- Create a Feature Branch
- Commit Changes
- Push to Branch
- Create a Pull Request