Due Date: Sunday the 28th of January at 11:59PM
The objective of this assignment is to practice managing a group of objects from creation, update, and search perspectives. In addition, you are to learn how to convert user questions to attributes on the classes, and real answers on the screen. Some of the search functions require that you find multiple instances that satisfy the search criteria. The matched elements must be collected into temporary array lists to display on the screen in a secondary table.
Write an application to manage a fleet of cars for Uber in a certain geo-area. Your application should enable search to answer to the following questions:
- Find me the first available passenger car.
How many cars are currently available. How many are not.
List all cars that are made by Toyota, GM, etc.
List all cars that were manufactured in a given year, ‘x’.
Find an available car with a minimum of x seats but no more than y seats.
Find a car with the given serial number. List the attributes of the found car.
List all cars given the model number.
List all the car manufacturers used by the (this) Uber.
When was the last time the fleet catalog was updated.
List all cars that are available in a given city.
List all cars that have expired maintenance certificate.
Your application must enable the creation and update functions for any of the attributes of concern. It will be okay to assume each of these questions are buttons on the left/right side of the screen depending on your design.
Also, through a configuration file enable the creation of multiple instances of cars with various characteristics consistent with the requirements above. This will save you from having to retype the same thing multiple times. Make sure to create enough variations to enable a good demo of your solution. Checkboxes should be used to indicate yes or no answers to certain attributes such as availability, etc. The ability to update some of these attributes is required as well.
Define secondary filers on the found instances. In this case, you will need a search function on the collected search results.
Two additional extensions to think about is how to model a ride from a to b and determine current location of vehicles.