SpaceShare is a MERN stack project designed for renting real estate properties. It provides a seamless platform for buyers and renters to connect, explore properties, and communicate effectively. The project integrates Socket.IO for real-time chat functionality and includes features for listing and saving properties.
- View various properties available for rent or purchase.
- Filter properties based on location, price, and other criteria.
- Save favorite properties for quick access later.
- Integrated Socket.IO for instant messaging between renters and buyers.
- Ensure seamless interaction with notifications and updates.
- Intuitive and responsive design for a better user experience.
- User authentication with JWT for secure access.
SpaceShare/
├── client/ # Frontend React application
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page-level components
│ │ ├── utils/ # Utility functions
│ │ └── App.tsx # Main application file
│ └── package.json
│
├── server/ # Backend Express application
│ ├── controllers/ # Route controllers
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ ├── utils/ # Utility functions
│ └── server.js # Entry point for the server
│
├── socket/ # Socket.IO server setup
│ └── index.js # WebSocket configuration
│
└── README.md # Project documentation
- Frontend: React, Redux, Material-UI
- Backend: Node.js, Express.js
- Database: MongoDB
- Real-Time Communication: Socket.IO
-
Clone the repository:
git clone https://github.com/Naman-B-Parlecha/SpaceShare.git
-
Navigate to the project directory:
cd SpaceShare
-
Install dependencies for both client and server:
cd client npm install cd ../server npm install cd ../socket npm install
-
Set up environment variables:
-
Create a .env file in the
server/
directory. -
Add the following variables:
DATABASE_URL=<your-mongodb-connection-string> JWT_SECRET_KEY=<your-jwt-secret> CLIENT_URL=<localhost-port>
-
Create a .env file in the
client/
directory. -
Add the following variables:
VITE_SERVER_URL=<server-port>
-
-
Start the application:
- Run the server:
cd server npm start
- Run the client:
cd client npm start
- Start the WebSocket server:
cd socket node index.js
- Run the server:
-
Open the application in your browser at
http://localhost:3000
.
Contributions are welcome! Please follow these steps:
- Clone the repository:
git clone https://github.com/Naman-B-Parlecha/SpaceShare.git
- Create a new branch:
git checkout -b feature/YourFeatureName
- Make your changes and commit them:
git commit -m "Add your message here"
- Push your branch:
git push origin feature/YourFeatureName
- Submit a pull request.
Distributed under the MIT License. See LICENSE for more information.