The Real Estate Rental Platform is a web application designed to connect tenants and property managers. Tenants can easily browse rental listings and search/filter properties by location, price, amenities, and other criteria. Property managers (landlords) can add new listings with detailed information (rent, amenities, images, etc.) and manage existing properties. This platform addresses the growing rental market – for example, about 34% of U.S. households are in rental homes – by simplifying how renters find homes and how managers list them.
Tenant Features: Tenants can browse all available rental properties. They can apply search filters (e.g. location, price range, number of bedrooms, pet-friendliness) to find properties that match their needs. Each listing shows detailed information (rent amount, amenities, photos, and location). Tenants can view property details and contact the manager (e.g. via email or an inquiry form) to schedule viewings or ask questions.
Manager Features: Property managers can create and manage listings. They can add new properties by entering details such as monthly rent, amenities (e.g. parking, laundry, air conditioning), property type (apartment, house, etc.), and upload photos. Managers can edit or remove their listings as needed (for example, to update rent or mark a unit as rented). A management dashboard (if included) allows owners to track inquiries or rental applications for each property.
Prerequisites: Ensure you have Node.js (v14+ recommended) and npm installed on your machine. Also install MongoDB (or use a hosted MongoDB service) and ensure it is running.
Clone the Repository:
git clone https://github.com/prasomjain/Real-Estate.git
cd Real-Estate
Install Dependencies:
For a monorepo or full-stack repo, you may have separate client and server folders. If so, run npm install
in each:
cd client
npm install
cd ../server
npm install
If it is a single project, run npm install
in the project root.
Environment Configuration:
Create a .env
file (or otherwise configure environment variables) with the required settings, such as the Postgres creating database (createdb realestate
) and a JWT secret key (JWT_SECRET
), etc.
For example:
DB_HOST=localhost
DB_PORT=5432
DB_NAME=realestate
DB_USER=your_db_username
DB_PASS=your_db_password
JWT_SECRET=your-secret-key
Start the Application:
Start the backend server, e.g.:
cd server
npm start
Start the frontend, e.g.:
cd client
npm start
The app should now be running locally (commonly at http://localhost:3000 or http://localhost:5000, etc., depending on configuration). See console output for the exact URLs.
As a Tenant:
As a Property Manager:
A representative UI screenshot is shown above (homepage with a “Search properties” banner and featured services). In the README, include actual screenshots or mockups of your app’s interface: for example, the main listing/search page, a property detail page, and the manager’s dashboard. Visual examples help new users and developers quickly understand the look and flow of the application.
Contributions are welcome! To contribute:
git checkout -b feature/my-feature
).git push origin feature/my-feature
).Please ensure code follows the existing style and that any new feature is documented. For major changes, opening an issue first to discuss is appreciated.
This project is licensed under the MIT License. The MIT License is a permissive open-source license with very few restrictions on reuse. (See the LICENSE file for full details.)