Skip to content

bibliophilecoder/HouseRental

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ  HouseRental โ€“ House Rental Application

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.


๐Ÿš€ Features

๐Ÿ‘ค User Authentication

  • User Registration & Login
  • Secure Authentication
  • Role-Based Access Control

๐Ÿ˜๏ธ Property Management

  • Add New Properties
  • Update Property Details
  • Delete Property Listings
  • View Available Properties
  • Property Status Management (Available/Booked)

๐Ÿ” Advanced Property Search

  • Search by Location
  • Filter by Price Range
  • Property Type Filtering
  • Amenities-Based Search
  • Saved Searches

๐Ÿ“… Booking System

  • Submit Booking Requests
  • Track Booking Status
  • Booking History Management
  • Owner Approval/Rejection System

๐Ÿ’ฌ Owner Contact System

  • View Owner Details
  • Contact Property Owners
  • Direct Communication Between Tenant and Owner

๐Ÿ‘จโ€๐Ÿ’ผ Admin Panel

  • Manage Users
  • Approve Owner Requests
  • Monitor Property Listings
  • Platform Management & Security

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React.js
  • React Router
  • Axios
  • CSS / Bootstrap / Tailwind (depending on your implementation)

Backend

  • Node.js
  • Express.js
  • REST API

Database

  • MongoDB
  • Mongoose ODM

Authentication

  • JWT (JSON Web Token)
  • Bcrypt Password Hashing

๐Ÿ“‚ Project Structure

HouseHunt/
โ”‚
โ”œโ”€โ”€ client/                 # React Frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ server/                 # Node.js Backend
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ server.js
โ”‚
โ”œโ”€โ”€ screenshots/
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ package.json

๐Ÿ—๏ธ System Architecture

The application follows a Client-Server Architecture:

Frontend (React.js)

  • Handles UI and User Interactions
  • Displays Property Listings
  • Sends API Requests to Backend

Backend (Node.js + Express.js)

  • Processes Business Logic
  • Handles Authentication
  • Manages Property & Booking APIs

Database (MongoDB)

Stores:

  • User Data
  • Property Listings
  • Booking Records
  • Administrative Data

๐Ÿ‘ฅ User Roles

Tenant

  • Register/Login
  • Search Properties
  • View Property Details
  • Contact Owners
  • Submit Booking Requests
  • Track Booking Status

Owner

  • Add Properties
  • Update Property Listings
  • Delete Properties
  • Manage Booking Requests
  • Update Property Availability

Admin

  • Approve Owner Requests
  • Manage Users
  • Monitor Platform Activities
  • Maintain System Security

๐Ÿ—„๏ธ Database Entities

User

{
  name,
  email,
  phone,
  password,
  userType,
  profileImage,
  currentLocation
}

Property

{
  ownerId,
  title,
  description,
  location,
  rentAmount,
  propertyType,
  furnishingStatus,
  amenities,
  images,
  status
}

Booking

{
  propertyId,
  tenantId,
  startDate,
  endDate,
  bookingDate,
  status
}

๐Ÿ”„ API Endpoints (Example)

Authentication

POST /api/auth/register
POST /api/auth/login

Properties

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

Bookings

POST /api/bookings
GET  /api/bookings
PUT  /api/bookings/:id

โš™๏ธ Installation

Clone Repository

git clone https://github.com/yourusername/househunt.git
cd househunt

Install Backend Dependencies

cd server
npm install

Install Frontend Dependencies

cd ../client
npm install

Configure Environment Variables

Create a .env file inside the server folder:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key

Run Backend

cd server
npm start

Run Frontend

cd client
npm start

๐Ÿ”ฎ Future Enhancements

  • Online Rent Payment Integration
  • Real-Time Chat System
  • Google Maps Integration
  • Property Recommendation System
  • Email & SMS Notifications
  • Wishlist / Favorite Properties
  • AI-Based Property Suggestions

๐Ÿค Contributing

Contributions are welcome.

  1. Fork the Repository
  2. Create a Feature Branch
  3. Commit Changes
  4. Push to Branch
  5. Create a Pull Request

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors