Skip to content

Latest commit

 

History

180 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real Estate Rental and Tenant Management System - Property Plus

Property Plus is a real estate rental and tenant management system. It is a web application that allows two types of users to use the application. The two types of users are the owner and the tenant. The owner can post a property for rent, manage tenants, register rent payment, and create a property lease. The tenant can search and filter properties, view property details, send an email to the owner of the property, and use the built-in chat application for communication between the owner and the tenant.

Live Site - Property Plus

Features

  • Post a property for rent
  • Search and filter properties
  • View property details
  • Built-in Chat Application for communication between owner and tenant
  • Secure JWT authentication using access and refresh tokens
  • Send emails between owner and tenant
  • Create Property Lease
  • Manage tenants
  • Register Rent Payment

Configuration and Installation Instructions

Prerequisites

  1. Clone the repository:
$ git clone https://github.com/SonamRinzinGurung/Real-Estate-Rental-and-Tenant-Management-System.git
  1. Install the required packages for the backend:
$ cd server
$ npm install
  1. Open a new terminal session and install the required packages for the frontend:
$ cd client
$ npm install
  1. Configure the environment variables inside the server folder:
- create a .env file and add the following variables:
- generate secret keys for jwt tokens using online tools

MONGO_URI= <your_mongo_uri>
ACCESS_TOKEN_SECRET_OWNER= <your_access_token_secret_owner>
ACCESS_TOKEN_SECRET_TENANT= <your_access_token_secret_tenant>
REFRESH_TOKEN_SECRET_OWNER= <your_refresh_token_secret_owner>
REFRESH_TOKEN_SECRET_TENANT= <your_refresh_token_secret_tenant>
ACCESS_LIFETIME=15m
REFRESH_LIFETIME=7d
CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>
CLOUDINARY_API_KEY= <your_cloudinary_api_key>
CLOUDINARY_API_SECRET= <your_cloudinary_api_secret>
RESET_PASSWORD_KEY= <your_reset_password_key>
EMAIL_VERIFICATION_KEY= <your_email_verification_key>
CLIENT_URL=http://localhost:3000
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER= <your_gmail_address>
EMAIL_PASS= <your_gmail_pass> or <your_gmail_app_password>
  1. Configure the environment variables inside the client folder:
- create a .env.local file and add the following variables:

VITE_APP_BASE_URL=http://localhost:3000
VITE_APP_API_URL=http://localhost:5000/api
VITE_APP_API_HOST=http://localhost:5000
  1. Run the application:
$ cd server
$ npm run dev

Using Docker (Optional)

  1. Make sure you have Docker installed on your machine.
  2. Run the following command to build the containers in development mode:
$ npm run dev:build
  1. Run the following command to start the containers:
$ npm run dev
  1. The backend server will be running on http://localhost:5000 and the frontend will be running on http://localhost:3000.

Author

Sonam Rinzin Gurung

Repository

Property Plus

About

Property Plus is an online real estate market for residential and commercial rental with tenant management system.

Topics

Resources

Stars

84 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages