Skip to content

Goutamchoudhary907/Room-Renting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

129 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Rentpy

Rentpy is a rental marketplace platform designed to help users find and book rooms or properties for short-term and long-term stays. It offers an intuitive interface, advanced search filters, secure payments, and a smooth booking experience.


✨ Features

  • Property Listings: Browse all available properties with images, pricing, and rental type.
  • Search & Filters: Search properties by location, check-in/check-out dates, rental type, and other criteria.
  • Property Details: View full property information including amenities, pricing, and map location.
  • Map Integration: Google Maps integration to display property locations.
  • Payments: Secure Razorpay integration for bookings and rental payments.
  • Authentication: User login and registration for secure access.
  • Responsive UI: Fully responsive frontend using React and Tailwind CSS.

πŸ› οΈ Tech Stack

Layer Technology
Frontend React, TypeScript, Tailwind CSS, @react-google-maps/api (Deployed on Vercel)
Backend Node.js, Express, TypeScript (Deployed on Render)
Database PostgreSQL
APIs & Integrations Google Maps Services (autocomplete, geocoding, directions), Razorpay for payments

πŸ—οΈ Architecture Overview

Frontend

  • Built with React + TypeScript and styled with Tailwind CSS.
  • Components for property display, filters, and map visualization.
  • Communicates with backend via REST APIs.
  • Deployment: Vercel for fast and reliable hosting.

Backend

  • Node.js + Express REST API with endpoints:
    • /property/all β†’ Fetch all properties
    • /property/search β†’ Fetch filtered properties
  • Connected to PostgreSQL for property and user data.
  • Handles authentication, property filtering, and business logic.
  • Deployment: Render with secure environment variables.

πŸš€ Getting Started / Run Locally

Follow these steps to run Rentpy on your local machine.

Prerequisites

  • Node.js (v16 or higher recommended)
  • npm or yarn
  • PostgreSQL database
  • Git

1. Clone the repository

git clone https://github.com/Goutamchoudhary907/Room-Renting.git
cd Room-Renting

2. Backend Setup

Navigate to backend folder

cd backend

Install dependencies

npm install

Configure Environment Variables / Create .env File

touch .env

Add your credentials to .env :

env
BACKEND_URL="http://localhost:3000"
FRONTEND_URL="http://localhost:5173"
DATABASE_URL="postgresql://username:password@localhost:5432/dbname"
JWT_SECRET="your_jwt_secret"
SENDGRID_API_KEY="your_sendgrid_api_key"
CLOUDINARY_CLOUD_NAME="your_cloudinary_name"
CLOUDINARY_API_KEY="your_cloudinary_api_key"
CLOUDINARY_API_SECRET="your_cloudinary_api_secret"
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_MAPS_API_KEY="your_google_maps_api_key"
RAZORPAY_API_KEY="your_razorpay_key"
RAZORPAY_API_SECRET="your_razorpay_secret"
CRON_SECRET="your_cron_secret"

Start the backend server

npm run dev

Backend will run on: http://localhost:3000

3. Frontend Setup

Navigate to frontend folder

cd ../frontend

Install dependencies

npm install

Configure Environment Variables / Create .env File

touch .env

Add your credentials to .env :

env
VITE_BACKEND_URL="http://localhost:3000"
VITE_GOOGLE_CLIENT_ID="your_google_client_id"
VITE_GOOGLE_MAPS_API_KEY="your_google_maps_api_key"
VITE_FRONTEND_URL="http://localhost:5173"

Start the frontend server

npm run dev

Open your browser at: http://localhost:5173

Project Structure backend/ - Contains all backend code (Node.js/Express)

frontend/ - Contains frontend React application

🌐 Demo

πŸ–ΌοΈ Screenshots

Home Page

image

Property Listing

image

All Rooms

image

Booking & Payment

image

Signup

image

Login

image

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages