Skip to content

hossam-dev14/ImmoMarket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImmoMarket

ImmoMarket is a dynamic real estate marketplace for real estate advertisements and the rental of apartments and houses. It is built using the MERN (MongoDB, Express, React, Node.js) stack.

Preview Image

ImmoMarket Real Estate

Live Demo

ImmoMarket

Features

  • User Authentication: Users can register, login, and manage their profiles.
  • Real Estate Listings: Users can search and view available real estate listings with details and contacting owner by email.
  • Property Management: users can add, edit, and delete property listings.
  • Responsive Design: The application is responsive and works seamlessly across devices.

Technologies Used

Backend Packages

  • JWT (JSON Web Tokens): Used for secure authentication and authorization by generating tokens that contain user information.
  • Nodemon: Monitors your server for changes and automatically restarts it, making the development process more efficient.
  • Node.js: A JavaScript runtime environment that allows you to run JavaScript code outside of a web browser, commonly used for building server-side applications.
  • Express.js: A web application framework for Node.js that simplifies the process of building APIs and web servers.
  • MongoDB: A NoSQL database used for storing data in a flexible, JSON-like format, commonly used in Node.js applications.
  • Bcrypt.js: A library used for hashing passwords, adding a layer of security to user authentication.
  • Multer: Middleware for handling file uploads in Node.js, often used for uploading images or other files.
  • Morgan: HTTP request logger middleware for Node.js, used to log information about incoming requests.
  • Joi: A schema description language and validator for JavaScript objects, used for validating request data in Express.js applications.
  • Dotenv: Loads environment variables from a .env file into process.env, making it easy to manage configuration settings.

Frontend Packages

  • Vite: A fast, modern build tool for frontend development, providing a rapid development experience with instant server start and hot module replacement.
  • React.js: A JavaScript library for building user interfaces, commonly used for building dynamic and interactive web applications.
  • Tailwind CSS: A utility-first CSS framework for building custom designs without having to leave your HTML.
  • Axios: A promise-based HTTP client for making AJAX requests, commonly used for sending requests to a backend API.*
  • Redux Toolkit Query: A Redux-based data fetching and caching tool, providing a simplified API for managing remote data in a Redux application.
  • PropTypes: A library for type checking props in React components, helping to catch bugs early in development.
  • React Router DOM: A library for routing in React applications, allowing you to define different routes and their corresponding components.
  • React Icons: A library of popular icon packs as React components, making it easy to add icons to your application.
  • React Toastify: A library for displaying toast notifications in React applications, providing a simple API for showing messages to users.
  • React Spinners: A collection of loading spinner components for React, providing visual feedback to users during long-running tasks.

Getting Started

1.Clone the repository:

git clone https://github.com/hossam-dev14/ImmoMarket.git
cd immomarket

2.Install dependencies for both the frontend and backend:

cd client
npm install
cd api
npm install

3.Set up the environment variables:

  • Create a .env file in the backend directory.
  • Add the following variables to the .env file:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
  1. Start the backend server:
cd api
npm run dev
  1. Start the frontend development server:
cd client
npm run dev
  1. Open your browser and navigate to http://localhost:3000 to view the application.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A dynamic real estate market, For real estate advertisements and rental of apartments and houses

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages