The idea of a dealership car search system isn't a new concept, but it's always an exciting challenge to apprehend the complex functionality of something in Java and build an effective search system that will be beneficial for users. My goal was to create a system which would minimize the user’s search time and produce the optimal car search results every time.
To achieve this, I started by mapping out the database tables in order to establish how they would interact with the user interface. I wanted the user interface to be intuitive and simple to use, so I spent a lot of time finding the optimal balance between function and aesthetics.
Next, I began to code the queries for the database. I used the Java Database Connectivity (JDBC) API to access the database and organized the data into five tables: cars, makes, models, specs, and dealers. This allows for a nested search relationship through the use of multiple JOIN statements. Once this was complete, I moved onto the logic for the backend. Here, I utilized abstract classes and data structures such as linked lists and binary search trees to store and search data more efficiently, as well as control queries.
Finally, I created the user interface. This came in the form of a web UI with an HTML front-end, CSS for styling, and JavaScript for dynamic user interaction. This UI allows for the user to search for cars based on make, model, dealers, and even availability by year. Furthermore, I implemented Google Maps to easily locate the nearest dealership and a cost calculator to estimate the total price.
The results from this project are a complete dealership car search system which allows the user to find the best car match for their needs. With its ability to provide quick results and simple use, this system will undoubtedly prove to be quite useful. While there is always room for improvement, I'm proud to have taken on this project and delivered a satisfying end product.