Skip to content

kbhujbal/HomiStay---House-Renting-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HomiStay - House Renting Platform

HomiStay is a modern house renting platform that allows users to browse, book, and manage property rentals. The platform features a user-friendly interface with various property categories and detailed listings.

Features

For Guests

  • Browse properties by category (Beach, Mountain, City, Countryside)
  • Search properties by location and type
  • View detailed property information including:
    • High-quality property images
    • Amenities and facilities
    • Guest capacity
    • Pricing details
    • Location information
  • Book properties with date selection
  • View booking history and trips
  • Create wishlists for favorite properties

For Hosts

  • List properties with detailed information
  • Upload multiple property images
  • Set pricing and availability
  • Manage property listings
  • Track bookings and reservations
  • View earnings and analytics

Technologies Used

Frontend

  • React.js
  • Redux for state management
  • SCSS for styling
  • React Router for navigation
  • React Date Range for booking calendar

Backend

  • Node.js
  • Express.js
  • MongoDB with Mongoose
  • JWT for authentication
  • Multer for file uploads

Database

  • MongoDB
  • Mongoose ODM

Project Structure

HomiStay/ β”œβ”€β”€ client/ # Frontend React application β”‚ β”œβ”€β”€ public/ # Static files β”‚ β”‚ β”œβ”€β”€ components/ # Reusable UI components β”‚ β”‚ β”œβ”€β”€ pages/ # Page components β”‚ β”‚ β”œβ”€β”€ redux/ # Redux state management β”‚ β”‚ β”œβ”€β”€ styles/ # SCSS styles β”‚ β”‚ └── App.js # Main application component β”‚ └── package.json β”‚ └── server/ # Backend Node.js application β”œβ”€β”€ models/ # MongoDB models β”œβ”€β”€ routes/ # API routes β”œβ”€β”€ public/ # Static files and uploads β”œβ”€β”€ scripts/ # Database seeding scripts └── index.js # Server entry point 

Setup Instructions

  1. Clone the repository:
git clone https://github.com/yourusername/HomiStay.git cd HomiStay
  1. Install dependencies for both client and server:
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
  1. Set up environment variables:

    • Create a .env file in the server directory with:
    MONGO_URL=mongodb://localhost:27017 
  2. Start MongoDB:

# On macOS brew services start mongodb-community
  1. Run the application:
# Start the server (from server directory) cd server node index.js # Start the client (from client directory) cd client npm start

The application will be available at:

Database Seeding

To populate the database with sample listings, run:

cd server node scripts/createMultipleListings.js

Features in Detail

Property Categories

  • Beach Properties
  • Mountain Properties
  • City Properties
  • Countryside Properties

Property Types

  • Houses
  • Apartments
  • Cabins
  • Farmhouses

Amenities

  • WiFi
  • Pool
  • Parking
  • Gym
  • Fireplace
  • Ski Storage
  • Doorman
  • Farm Access
  • Fire Pit

User Features

  • User Authentication
  • Profile Management
  • Property Management
  • Booking System
  • Wishlist Management
  • Trip Planning

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • React.js community for the amazing frontend framework
  • MongoDB for the flexible database solution
  • All contributors who have helped shape this project

About

🏠 A full-stack MERN vacation rental platform enabling users to browse, book, and list properties. Features include multi-category property search, interactive date-based booking with price calculation, wishlist management, drag-and-drop photo uploads for listings, JWT authentication, host/guest dashboards, reservation management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages