Skip to content

Jeshika311/EstateFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 

Repository files navigation

🏠 EstateFlow - Multi User Real Estate Management System

NodeJS React TailwindCSS MongoDB

EstateFlow is a full-stack Real Estate Management System built using the MERN Stack (MongoDB, Express.js, React.js, Node.js).

The platform allows buyers, agents, and administrators to interact in a secure environment where users can browse properties, agents can manage listings, and administrators can oversee the entire platform.

This project demonstrates industry-level architecture, authentication, CRUD operations, image uploads, role-based authorization, responsive UI, and scalable backend APIs.


🚀 Features

👤 Authentication

  • User Registration
  • Secure Login
  • JWT Authentication
  • Password Hashing using bcrypt
  • Forgot Password
  • Reset Password
  • Protected Routes

🏘 Property Management

  • Browse Properties
  • Search Properties
  • Filter by Location
  • Filter by Price
  • Filter by Category
  • View Property Details
  • Add Property
  • Update Property
  • Delete Property
  • Upload Multiple Property Images

👨‍💼 Agent Features

  • Agent Dashboard
  • Manage Own Listings
  • Add New Properties
  • Edit Existing Listings
  • Delete Listings
  • Track Published Properties

👑 Admin Features

  • Admin Dashboard
  • Manage Users
  • Manage Agents
  • Manage Properties
  • Delete Any Listing
  • Platform Analytics

❤️ User Features

  • Browse Available Properties
  • Search Properties
  • Save Favorite Properties
  • View Detailed Property Information
  • Contact Property Agent

📱 Responsive Design

  • Mobile Friendly
  • Tablet Responsive
  • Desktop Optimized

🛠 Tech Stack

Frontend

  • React.js
  • React Router DOM
  • Axios
  • Tailwind CSS
  • React Icons

Backend

  • Node.js
  • Express.js
  • JWT Authentication
  • bcrypt.js
  • Cloudinary

Database

  • MongoDB

Other Services

  • Cloudinary (Image Upload)
  • Brevo SMTP (Email Service)

📂 Project Structure

EstateFlow/
│
├── backend/
│   ├── config/
│   ├── controllers/
│   ├── middleware/
│   ├── models/
│   ├── routes/
│   ├── utils/
│   ├── server.js
│   └── package.json
│
├── frontend/
│   ├── public/
│   ├── src/
│   │   ├── assets/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── context/
│   │   └── App.jsx
│   └── package.json
│
└── README.md

⚙️ Installation

Clone Repository

git clone https://github.com/jeshika311/EstateFlow.git

cd EstateFlow

Backend Setup

cd backend

npm install

Create a .env file inside the backend folder.

Example:

MONGO_URI=your_mongodb_connection_string

PORT=5000

JWT_SECRET=your_jwt_secret

BREVO_API_KEY=your_brevo_api_key

EMAIL_USER=your_email@gmail.com

CLOUD_NAME=your_cloudinary_cloud_name

CLOUD_KEY=your_cloudinary_api_key

CLOUD_SECRET=your_cloudinary_api_secret

Run backend:

npm run dev

Frontend Setup

cd frontend

npm install

npm run dev

🔐 Environment Variables

Variable Description
MONGO_URI MongoDB Atlas Connection
PORT Backend Server Port
JWT_SECRET JWT Secret Key
BREVO_API_KEY Brevo Email API Key
EMAIL_USER Sender Email
CLOUD_NAME Cloudinary Cloud Name
CLOUD_KEY Cloudinary API Key
CLOUD_SECRET Cloudinary API Secret

Contributing

Contributions are always welcome.

  1. Fork the repository

  2. Create your feature branch

git checkout -b feature/NewFeature
  1. Commit your changes
git commit -m "Added new feature"
  1. Push
git push origin feature/NewFeature
  1. Open a Pull Request

⭐ If you found this project useful, don't forget to star the repository!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors