Skip to content

heysaiyad/EstateLink

Repository files navigation

Real Estate Web App

Overview

This project is a Real Estate Web Application that allows users to buy, sell, and rent properties. The application includes features such as user authentication, real-time chat, notifications, and property management.

Features

  • User Authentication (Register, Login, Logout)
  • Real-time Chat using Socket.io
  • Notifications using Zustand
  • Property Management (Create, Read, Update, Delete)
  • Search and Filter Properties
  • Responsive Design

Technologies Used

  • Frontend: React, Zustand, React Router, Axios, Leaflet, Sass
  • Backend: Node.js, Express, Prisma, MongoDB, JWT, Bcrypt
  • Real-time Communication: Socket.io
  • Deployment: render

Installation

Prerequisites

  • Node.js
  • MongoDB

Steps

  1. Clone the repository:

    git clone https://github.com/heysaiyad/EstateLink.git
    cd EstateLink
  2. Install server dependencies:

    npm install
  3. Install client dependencies:

    cd client
    npm install
    cd ..
  4. Set up environment variables: Create a .env file in the root directory and add the following:

    DATABASE_URL=<your_mongodb_connection_string>
    JWT_SECRET_KEY=<your_jwt_secret_key>
  5. Run Prisma migrations:

    npx prisma db push
  6. Start the server:

    npm start
  7. Start the client:

    cd client
    npm run dev

Usage

  • Open your browser and navigate to http://localhost:5173 to access the application.
  • Register a new account or log in with an existing account.
  • Explore properties, use the search and filter features, and manage your profile.
  • Use the chat feature to communicate with other users in real-time.

Project Structure

  • client: Contains the frontend code.
  • controllers: Contains the backend controllers.
  • middleware: Contains the middleware functions.
  • routes: Contains the backend routes.
  • lib: Contains the Prisma client setup.

Releases

No releases published

Packages

 
 
 

Contributors