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.
Microservices Architecture: Built with Spring Boot and Spring Cloud for scalable and maintainable service management.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.Client Portal: A user-friendly interface for tenants and potential renters to browse properties, manage accounts, and interact with property managers.Admin Panel: A dedicated platform for administrators to manage property listings, user inquiries, and system settings.Data Storage: Uses MongoDB for flexible and efficient data storage solutions.Chatbot: An AI-powered assistant for users to get instant help with rental property searches, account management, and general inquiries.
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.jsandVuetify: Progressive JavaScript framework and material design component framework used for building both the client app and admin panel.LangChain: Framework for building applications with LLMs (Large Language Models), enabling intelligent query processing and conversational AI.OpenAI API: For natural language processing and chatbot functionality.
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- Create container
docker run -d -p 8500:8500 -p 8600:8600/udp --name=dev_zillow_svc_consul consul:1.14.0- Create container
docker run -d -p 6379:6379 --name dev_zillow_svc_redis redis:7.2-rc2 --requirepass root- Create container
docker run -d -p 27017:27017 --name dev_zillow_svc_mongodb mongo:4.4.19-rc2 --auth- Enter MongoDB
docker exec -it dev_zillow_svc_mongodb bashmongo- Set authentication
use admin
db.createUser({ user: "root", pwd: "root", roles: [{ role: "root", db: "admin" }] })
db.auth("root", "root");- Consul server: 8500
- Config server: 3355
- Gateway server: 4006
- File: 9000
- Trendy: 9001
- Recommendation: 9002
- Search: 9003
- Item: 9004
- Comment: 9005
- Buy Time: 9006
- User: 9007
- Buy Action: 9008
- Order: 9009
- LLM: 9010
- MongoDB: 27017
- Redis: 6379
- Client: 3010
- Admin Dashboard: 3011
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







