Rental Car Point Of Sale System: In this project, you will fill the role of chief (and sole) developer of the new point of sale system for Hurtz Rental Cars, Inc. Hurtz's business to provide short-term rental cars to customers. Most people don't want just *any* car, they have an idea of what they would like to drive. Perhaps they need a sedan (4 doors), or are driving along the coast and would like a convertible. Perhaps they have a specific car they would like to rent because they are thinking of purchasing one, and would like an extended test drive. In this case, they might know the make, model, and number of doors on the vehicle they need. Other people may only care about price. They want the cheapest sedan or the least expensive convertible. The course project for this class is to build a client-server system to allow rental car clerks at Hurtz to locate available cars in their fleet for potential customers. This system will include a client application with a graphical user interface (the HurtzAgentTerminal) that the rental agent will use to query and reserve cars, and a console (command line) server application for performing the searches and managing the inventory data. There will also be a console (command line) "database" utility program for creating the inventory data file. I will provide you a jar file (hurtzcommon) that contains class definitions (including source if you wish to view the source) for common classes/interfaces in this system: Car CarImpl Criteria CriteriaImpl CriteriaValidationException InvalidModelException InvalidMakeException AbstractHurtzSearchEngine HurtzDataUtility Your source code will be organized into packages. The client (presentation) code will reside in edu.cod.cis218.client The server (data/search) code will reside in edu.cod.cis218.server Almost all of the classes I provide you will reside in edu.cod.cis218.common (AbstractHurtzSearchEngine is in edu.cod.cis218.server); In addition to functional, documented source code, the student will be responsible for writing a brief, high-level design document that describes the system, and for generating html documentation of his/her code using the Javadoc tool. There will be a series of small programming tasks assigned during the session, which will provide the basis for the course project. Details about the minimum work required, the grading breakdown, and the grading environment are available in ProjectDeliverables.txt