Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gichbuoy/real-estate-marketplace

Modern Real Estate Marketplace with MERN, json web tokens authentication and redux toolkit.
https://github.com/gichbuoy/real-estate-marketplace

api crud-application express firebase google-oauth javascript jwt-auth mongodb node-js react react-router-dom redux-toolkit

Last synced: about 1 month ago
JSON representation

Modern Real Estate Marketplace with MERN, json web tokens authentication and redux toolkit.

Awesome Lists containing this project

README

        

# Find My Home - Modern Real Estate Marketplace
Welcome to Find My Home, a robust real estate web application built with the MERN stack (MongoDB, Express.js, React, and Node.js). This project provided a comprehensive learning experience for me, as an aspiring full-stack developer.
- It covering advanced authentication, CRUD operations for the MongoDB database, user-friendly features, and advanced search functionality.

## Introduction
Find My Home is a modern real estate marketplace where users can browse, search, and manage their property listings through their profiles seamlessly, facilitating editing and updates with ease.

- We have varieties of properties for rent, sale or lease. From luxury homes and office spaces, to plots of land and commercial spaces.

## Technologies Used

`Frontend`:

- React
- Redux Toolkit for state management
- JWT for authentication
- Firebase and Google OAuth for secure user access

`Backend`:

- Node.js
- Express.js
- MongoDB for database management
- JWT for authentication

`Deployment`:

'render' platform for easy and free deployment

## Key Features
1. Advanced Authentication:

- Implement `JWT` (Json Web Tokens), `Google OAuth` and `firebase` for secure and seamless user access.

2. CRUD Operations:

- `Create`, `Read`, `Update`, and `Delete` property listings using MongoDB database.

3. User-friendly Features:

- Enhance the user experience with image uploads for property listings and intuitive listing management.

4. Advanced Search Functionality:

- This feature enables users to search by title, limit the search results and apply sorting options, to help users find the properties they're looking for.

5. Authentication Functionality:

- Users can signup and login to the application using their email and password, through the use of JWT.

6. Redux Toolkit:

- For better state management of global states.

7. Redux Toolkit:

- For routes and synamic pages.

## Getting Started
Follow these steps to set up and run the Find My Home project on your local machine. Make sure you have Node.js and MongoDB installed.

1. Clone the repository:

```
git clone https://github.com/Gichbuoy/Real-Estate-Marketplace.git
```

2. Navigate to the project directory
```
cd Real-Estate-Marketplace
```

3. Install the dependencies on the root and client:

```
npm install
```

4. Run the application
- On the Root folder run the server:
```
npm run dev
```

- Navigate to the client:
```
cd Real-Estate-Marketplace/client
```

- Run the client
```
npm run dev
```

## Contributing
Contributions are welcomed from the community! If you'd like to contribute to the Real-Estate-Marketplace project.
```
https://github.com/Gichbuoy/Real-Estate-Marketplace/fork
```

## License
This project is licensed under the [MIT License.](https://opensource.org/licenses/MIT)

### screenshots

`SignIn - Client`

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-signin.png)

`SignUp - Client`

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-signup.png)

`SignIn - API`

![SignIn](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/api-signin.png)

`SignUp - API`

![SignUp](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/api-signup.png)

`Create Property Listing - Client`

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-createlisting.png)

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-createlisting2.png)

`Create Listing - API`

![CreateListing](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/api-createlisting.png)

`Get Listing - Client`

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-getlisting.png)

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-getlisting2.png)

`Get Listing by Id - API`

![Getlisting](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/api-getlistingId.png)

`Search Term - Client`

![Home](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/client-searchterm.png)

`Search Term - API`

![SearchTerm](https://github.com/Gichbuoy/Real-Estate-Marketplace/blob/main/screenshots/api-searchterm.png)