Welcome to the Zillow Imitation Project. This repository houses a Spring Cloud-based house rental application that closely imitates the functionalities and design of Zillow. This project serves as a practical exploration of microservices architecture using modern technologies like MongoDB, Redis, Elasticsearch, and RabbitMQ.
- Property Listings: Users can view a variety of rental properties, each detailed with photos, prices, and descriptions.
- Search Functionality: Robust search capabilities powered by Elasticsearch, allowing filters for location, price range, number of bedrooms, and more.
- User Accounts: Users can create accounts to save favorite listings and contact property managers directly.
- Admin Panel: A Vue.js and Vuetify-based dashboard for administrators to manage property listings.
Spring Boot
: Simplifies the bootstrapping and development of new Spring applications.Spring Cloud
: Facilitates building robust microservices using patterns like service discovery, configuration management, and routing.MongoDB
: NoSQL database used for storing application data.Redis
: In-memory data structure store, used as a database, cache, and message broker.Elasticsearch
: Search engine based on the Lucene library, perfect for powerful search functionalities.RabbitMQ
: Advanced message queuing protocol used for handling service-to-service communication.Vue.js
andVuetify
: Progressive JavaScript framework and material design component framework used for building the admin panel.
Ensure you have the following installed:
- Java JDK 8
- Maven 3.6.3
- Your preferred IDE (IntelliJ IDEA, Eclipse, etc.)
- Clone the repository:
git clone [email protected]:Palpatine0/Zillow.git
- Navigate to the project directory:
cd Zillow
- Build the project with Maven:
mvn clean install
Please refer to the documentation within each service for specific startup instructions or browse the application at https://github.com/Palpatine0/Zillow for more details.
We welcome contributions! Any contributions are greatly appreciated.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
This project is distributed under the MIT License. See the LICENSE file for more information.
-
Project Link:
https://github.com/Palpatine0/Zillow
-
Snapchat:
emperorsidious0