Skip to content

nawanja09/Real-State

Repository files navigation

🏡 Real Estate Pro — SaaS Property Management Platform

A modern, full-stack SaaS real estate management system built with the MERN stack and Next.js.
Designed for managing property listings, users, and administrative workflows in a scalable and efficient way.


🚀 Live Demo

https://your-live-demo.com


📸 Preview

  • Home Page
  • Property Listings with Filters
  • Admin Dashboard Analytics
  • Property Details Page

✨ Features

👤 Authentication & Users

  • JWT-based authentication
  • Role-based access control (Admin, Agent, User)
  • Secure password hashing (bcrypt)
  • Protected routes

🏘️ Property Management

  • Create, update, delete properties
  • Upload multiple images (Cloudinary)
  • Property categories (rent / sale / residential / commercial)
  • Advanced filtering & search system

📊 Admin Dashboard

  • Analytics dashboard using Recharts
  • Manage users and listings
  • Platform activity overview

🔎 Search & Discovery

  • Search properties by location, price, type
  • Filter & sort functionality
  • Responsive grid layout
  • Pagination support

☁️ Media Handling

  • Image uploads via Cloudinary
  • Multer-based file handling

📧 Communication

  • Email notifications via Nodemailer
  • Inquiry/contact system

⚡ Performance

  • Next.js App Router (SSR/CSR hybrid)
  • React Query for API caching
  • Zustand for UI state management
  • Framer Motion animations
  • Mobile-first responsive design

🚀 Tech Stack

Frontend (/client)

  • Framework: Next.js 16 (React 19)
  • Styling: Tailwind CSS, Framer Motion, Swiper
  • State Management: Zustand, TanStack React Query
  • Form Handling & Validation: React Hook Form, Zod
  • Icons: Lucide React, React Icons
  • Data Visualization: Recharts
  • HTTP Client: Axios

Backend (/server)

  • Runtime: Node.js (v18+)
  • Framework: Express.js 5
  • Database: MongoDB (Mongoose)
  • Authentication: JWT (JSON Web Tokens), bcryptjs
  • File Uploads: Multer, Cloudinary
  • Security: Helmet, Express Rate Limit, CORS
  • Email: Nodemailer

📁 Project Structure

Real-State/
├── client/          # Next.js frontend application
│   ├── src/         # Source code (app router, components, services, etc.)
│   ├── public/      # Static assets
│   └── package.json # Frontend dependencies and scripts
└── server/          # Node.js/Express backend application
    ├── config/      # Configuration files (e.g., Cloudinary, DB)
    ├── middleware/  # Express middlewares (e.g., Auth)
    ├── models/      # Mongoose schemas
    ├── routes/      # API routes
    ├── controllers/ # Route handlers
    ├── seed/        # Database seeding scripts
    └── package.json # Backend dependencies and scripts

🛠️ Getting Started

Prerequisites

⚙️ Installation

  1. Clone the repository:

    git clone <repository-url>
    cd Real-State
  2. Install Backend Dependencies:

    cd server
    npm install
  3. Install Frontend Dependencies:

    cd ../client
    npm install

Environment Variables

Backend (server/.env) Create a .env file in the server directory and configure the following variables:

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret

Frontend (client/.env.local) Create an .env.local file in the client directory and configure your frontend environment variables:

NEXT_PUBLIC_API_URL=http://localhost:5000/api

(Adjust the API URL based on your server configuration).

Running the Application

Run the Backend Development Server:

cd server
npm run dev

Run the Frontend Development Server:

cd client
npm run dev

The frontend will be available at http://localhost:3000 and the backend at http://localhost:5000.


🌐 API Endpoints

Auth

  • POST /api/auth/register
  • POST /api/auth/login
  • GET /api/auth/me

Properties

  • GET /api/properties
  • POST /api/properties
  • PUT /api/properties/:id
  • DELETE /api/properties/:id

Users

  • GET /api/users
  • PUT /api/users/:id

🚀 Future Improvements

  • Google Maps integration
  • Real-time chat system
  • Stripe payment integration
  • Email automation system
  • Mobile app (React Native)
  • AI property recommendations

👨‍💻 Author

Built by a solo developer using MERN + Next.js A production-style SaaS real estate management platform.

📄 License

MIT License

About

Full-stack SaaS real estate management platform built with Next.js, Express, and MongoDB for property listings, user management, and admin analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors