Welcome to Rentify! This web application, built using the MERN stack (MongoDB, Express, React, Node.js), allows users to rent, sell, and buy properties online. This README provides an overview of the project, setup instructions, and other essential information.
- Introduction
- Features
- Tech Stack
- Getting Started
- Usage
- Project Structure
- API Endpoints
- Contributing
- License
- Contact
Rentify is a comprehensive web application designed to facilitate the renting, selling, and buying of properties. The platform provides a user-friendly interface and robust backend to ensure a seamless experience for users looking for their next home or investment opportunity.
- User Authentication: Secure sign-up, login, and profile management.
- Property Listings: Browse properties available for rent, sale, or purchase.
- Advanced Search: Filter properties based on location, price, size, and more.
- Property Management: Users can add, edit, and delete their property listings.
- Favorites: Save properties to your favorites for quick access.
- Responsive Design: Accessible on both desktop and mobile devices.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- Styling: Tailwind CSS, Bootstrap
Make sure you have the following installed:
-
Clone the repository:
git clone (https://github.com/MVKarthikReddy/rentify) cd rentify
-
Install dependencies for both the server and client:
cd server npm install cd ../client npm install
-
Set up environment variables:
Create a
.env
file in theserver
directory and add the following:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key
-
Run the application:
Open two terminals and run the following commands:
Terminal 1 (Backend):
cd server npm start
Terminal 2 (Frontend):
cd client npm start
-
Access the application:
Open your browser and navigate to
http://localhost:3000
.
- Sign up or Log in to your account.
- Browse properties or use the search feature to find specific listings.
- Add new property listings if you want to rent or sell a property.
- Edit or delete your property listings as needed.
- Save properties to your favorites for easy access later.
rentify/
├── client/ # Frontend code (React)
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── App.js
│ │ └── index.js
│ └── package.json
├── server/ # Backend code (Node.js, Express)
│ ├── config/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── server.js
│ └── package.json
├── .gitignore
└── README.md
POST /api/auth/register
- Register a new userPOST /api/auth/login
- Login a user
GET /api/properties
- Get all propertiesPOST /api/properties
- Add a new propertyGET /api/properties/:id
- Get a single property by IDPUT /api/properties/:id
- Update a property by IDDELETE /api/properties/:id
- Delete a property by ID
GET /api/users/:id
- Get user profile by IDPUT /api/users/:id
- Update user profile by ID
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or suggestions, feel free to reach out:
- Email: [email protected]
- GitHub: [https://github.com/MVKarthikReddy/rentify]
Thank you for using Rentify! We hope you find your perfect property.