This project is an extreme computing application that enables efficient searching and filtering of real estate properties across the United States. It leverages a large dataset containing detailed property information and provides an intuitive web-based interface for users to filter and sort properties based on various criteria.
The application demonstrates the use of:
- Flask for building the web application.
- SQLite for managing property data.
- SQLAlchemy for database operations.
- JavaScript for dynamic front-end functionality (autocomplete and filtering).
- Pandas for data preprocessing.
- Large Dataset Handling: Optimized search and filtering of over 500,000 real estate properties.
- Autocomplete Functionality: Dynamically suggests city names based on user input.
- Advanced Search Filters:
- Price range
- Number of bedrooms and bathrooms
- House size (square feet)
- State and city selection
- Dynamic Results Page:
- Display of search results with sorting options.
- Additional filtering directly on the results page.
- Responsive Web Interface: Built with modern design principles for a user-friendly experience.
- Python 3.x installed.
- All dependencies listed in
requirements.txt(see installation steps below). - USA Real Estate Dataset: Download from Kaggle.
- Download the dataset from this Kaggle link.
- Save the
.csvfile in the root directory of your project folder.- Ensure the file is named
realtor-data.zip.csvfor compatibility with the program.
- Ensure the file is named
Install all required Python libraries using:
pip install -r requirements.txtpython generate_db.py- Filter the dataset for properties with a "for_sale" status.
- Clean and preprocess the data.
- Generate an SQLite database named real_estate_new.db.
python app.py- Open your browser and navigate to http://localhost:5000/.
- Use the search form to input your criteria:
- Select a state or city.
- Set price, bedroom, bathroom, and house size filters (optional).
- Sort results by price or house size.
- Click Search to view the results.
- Further refine your search on the results page using additional filters.
- The dataset is too large to be included in the repository. Ensure you download it from Kaggle.
- Additional features like property visualization (e.g., maps or images) can be added.
This project is licensed under the MIT License. See LICENSE for details.