0% found this document useful (0 votes)
26 views3 pages

Erkmvekvmkevmer

The document describes a car filtering application that allows users to search and filter through a dataset of cars. It includes details on the dataset, filters that should be available to users, and mockups of the main application window and add record dialog. The application needs to allow dynamic filtering of dimensions, engine/fuel details, year, and ID using various widgets, and include functionality for loading/saving filters and datasets.

Uploaded by

3978violet
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views3 pages

Erkmvekvmkevmer

The document describes a car filtering application that allows users to search and filter through a dataset of cars. It includes details on the dataset, filters that should be available to users, and mockups of the main application window and add record dialog. The application needs to allow dynamic filtering of dimensions, engine/fuel details, year, and ID using various widgets, and include functionality for loading/saving filters and datasets.

Uploaded by

3978violet
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Car filtering application

Table of contents
Car filtering application
Table of contents
Brief description
The dataset
Filters to create
User interface
Main window
Add Record Dialog

Brief description
You are given a cars.csv file that contains some useful information about several
thousand different cars. You will have to develop an application that will help
users to find a car that suits their needs using several ways of filtering the data.
Also, the database does not contain several modern models, so you will have to
provide a convenient UI for adding them to the database.

The dataset
The dataset and description of all fields can be found here. (If the page is down
contact someone, I have a backup of both the dataset and the description)

Unfortunately, the dataset has some problems. In particular, some dimensions


are specified in inches and others are in centimeters, but this should not affect
the project.

Filters to create

The dataset contains quite a number of columns, so I chose only a few


parameters that should be filtered.

You are not allowed to modify the dataset manually. For example, you cannot
remove unnecessary " characters. However, if the user somehow modifies it using
your program (deletes/edits/inserts a record), you have to modify the file when
the “Save” button is clicked.

Very important note: All of the values have to be calculated dynamically. This
means that if you need minimal and maximal values you have to calculate them,
not just insert some magic constants in your code.
Dimensions.Height - a Range slider between minimum and maximum (be careful
about 0!)
Dimensions.Width - same as Height
Dimensions.Length - same as Height
Include unknown - a checkbox that includes cars with unknown dimensions
(marked as 0) into the filtered results
Engine Information.Driveline - a list of checkboxes that are dynamically generated
from the dataset
Fuel Information.Fuel Type - a Combobox with dynamically generated values
Identification.Year - a range slider (similar to height) for filtering the release
year
Identification.ID - A textbox that filters records in the following way: If
search_query is a substring of Identification.ID then the car satisfies this filter
Exclude makes - a textbox which contains several makes which are separated by
commas. For example Audi, BMW Motorrad. The specified makes have to be
excluded from the search results.

User interface

Main window

Main Window

The green and red rectangles are buttons. The Search button filters the records
and shows only those which satisfy the filter. Delete button removes the record
selected in the table (not from the csv but from the table!). The yellow box is just
a note.

The table has to display all of the columns from CSV. Also, it should allow the
user to modify cells and sort the records by each of the columns.

Requirements for the “File” menu:

File -> Load data should show a file selection dialog and load the selected .csv
file
File -> Save data should show a save file dialog and save the .csv file
File -> Save search should show a save file dialog and save user filters as file
File -> Load search should show a load file dialog and load user filters from
selected file
File -> Add record should show an Add Record window. After the record is added
the Main Window should update

Add Record Dialog

Add record dialog

This window is quite simple - one has to just receive some input from the user,
validate it (height cannot be 12in, it should be just 12), and update the Main
Window.

You might also like