Skip to content

The Home Search Engine is a Java and JavaFX-based GUI app. It lets users import home listings from JSON, search by price or location, sort results using bubble or selection sort, and export matched entries. The app includes proper exception handling and provides a user-friendly interface for smooth interaction.

Notifications You must be signed in to change notification settings

michaelarg/GUI-Based-Home-Search-Engine

Repository files navigation

GUI Based Home Search Engine

This project is a comprehensive Home Search Engine application built with Java and the JavaFX framework. It allows users to view a collection of house data, perform various search operations, sort the data, and dynamically add new house properties.


Features

  • Data Persistence: The application reads house data from a home_data.json file on startup and saves any new additions back to the same file.
  • Dynamic Property Addition: A feature is implemented to allow the user to input details for a new property and add it to the live data set.
    • Input Validation: All new property data is validated using methods in ErrorValidation.java to prevent bad or missing data from being added.
  • Advanced Search Functionality: Users can search the house listings using multiple criteria:
    • City/State/Zip
    • Number of Bedrooms and Bathrooms
    • Minimum and Maximum Price Range
    • Square Footage (SqFt)
  • Data Sorting: The application provides two different sorting algorithms for house listings based on the property price:
    • Bubble Sort
    • Merge Sort
  • Error Logging: Exceptions encountered during data reading or other processes are logged to an error_log file.

Technologies Used

Technology Purpose
Java Core programming language.
JavaFX Used for the Graphical User Interface (GUI) development.
JSON Simple (org.json.simple) Library for parsing and writing JSON data (e.g., home_data.json).
JUnit 5 Used for unit testing the model and service classes.

🖼️ Screenshots

Home Page and Data Entry
This is the application's initial interface, showing both the search input fields on the left and the new property addition form on the right.
Home Page and Data Entry

Search by City/State/Zip
The application allows filtering the entire dataset by location.
Search by City/State/Zip

Search by Bedrooms and Bathrooms
Users can filter the homes based on the number of bedrooms and bathrooms.
Search by Bedrooms and Bathrooms

Search by Min/Max Price
A search can be narrowed down to a specific price range.
Search by Min/Max Price


Contact

Author: Michael Arg.
Email: michgw7@gmail.com

About

The Home Search Engine is a Java and JavaFX-based GUI app. It lets users import home listings from JSON, search by price or location, sort results using bubble or selection sort, and export matched entries. The app includes proper exception handling and provides a user-friendly interface for smooth interaction.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published