By: Team T09-4
Since: Oct 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Querying data:
query
- 3.3. Selecting a car park :
select
- 3.4. Listing all car parks :
list
- 3.5. Finding car parks :
find
- 3.6. Filtering car parks :
filter
- 3.7. Undoing commands:
undo
- 3.8. Redoing commands :
redo
- 3.9. Calculating the cost of parking :
calculate
- 3.10. Enabling Notification :
notify
- 3.11. Clearing all entries :
clear
- 3.12. View past commands :
history
- 3.13. Abbreviation: abbrev.
- 3.14. Autocomplete: Tab
- 3.15. Exiting the application :
exit
- 3.16. Adding to favorites list :
add
[coming in v2.0]
- 3.17. Removing from favorites list :
delete
[coming in v2.0]
- 3.18. Sorting car parks :
sort
[coming in v2.0]
- 3.19. Weather forecast :
weather
[coming in v2.0]
- 3.1. Viewing help :
- Appendix A: FAQ
- Appendix B: Glossary
- Appendix C: Command Summary
1. Introduction
Welcome to the User Guide for Car Park Finder!
Car Park Finder is a desktop command-line application for all car owners seeking a hassle-free way to find
Housing & Development Board (HDB) car parks in Singapore.
Our application allows you to view vital information such as parking lots availability for each car park, so that you can plan ahead of your trip.
If you use the computer frequently and commute by driving, why not give it a try. No installation is required and getting started is as simple as typing out a text message.
Interested? Read the next section on how to get started. If you already have Car Park Finder up and running then head on over to Section 3.
2. Quick Start
To get Car Park Finder up and running, just follow these simple steps.
2.1. Setup
-
Check that you have Java version 9 or later installed in your Computer.
-
Download the latest
carparkfinder.jar
here. -
Copy the file to the folder you want to use as the home folder for Car Park Finder.
-
Double-click the file to start the application. The Graphical User Interface (GUI) should appear in a few seconds.
If everything goes well, Car Park Finder should launch immediately without any installation. Please refer to Figure 1 and check if it displays the same thing for you.
2.2. Graphical User Interface (GUI)
The GUI for Car Park Finder as shown in Figure 2 consist of six regions:
[1] Menu Bar [2] Result Panel [3] Google Map
[4] Message Box [5] Command Box [6] Status Bar
Please remember the naming convention as from now on they will be used to explain how Car Park Finder works. |
There are two types of markers that is being used in Car Park Finder, as shown in Figure 3. You can click on a marker cluster to zoom in on the map, or click on a individual marker to view the car park details.
2.3. Enter a command
Type a command into the Command Box and then press Enter to execute it. A message will appear in the Message Box.
Some commands you can try:query : Get the latest update from data.gov.sghelp : show the User Guide (this document)list : display all the car parks
|
Congratulations, you have successfully executed your first command!
If you want to try out more, please refer to the next section or Appendix C.
3. Features
Welcome to the Features section. This is where you will be learning how to use every single feature in Car Park Finder. You will also learn the different types of errors that can happen and how to prevent them.
Command Format
|
If you find manually scrolling down to be a hassle, you can go back up to the table of contents and click on the individual features to go straight to them.
3.1. Viewing help : help
This command opens up the User Guide in a separate window and shows all the available commands. It also teaches you
how to use them effectively.
If it is your first time reading this, then good job on opening the User Guide!
Format | Abbreviation |
---|---|
help |
he / hel |
3.2. Querying data: query
On your first time running Car Park Finder, you will see nothing on your screen. Do not panic! By type query
into
the Command Box, it will start to fill the application with all the available HDB car parks.
Format | Abbreviation |
---|---|
query |
q / qu / que / quer |
-
If you wish to update all the car parks at a later date, just type this command again.
-
Remember that Car Park Finder does not automatically execute this command at the start.
3.2.1. Example: Let’s get some car parks!
It might be your first time using Car Park Finder, or you decided to clear out all the car parks. Whatever the case, its time to get some car parks into the application.
Loading… please wait… |
Step 1. Type query
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly. Take note that you cannot type anything else once you press Enter.
Step 2. Wait for Car Park Finder to finish loading. It will only take awhile, so why not just sit back and relax?
2099 car parks updated |
Step 3. Once it has finish loading, the message above should appear. Please refer to Figure 4 to check if you are successful in getting the car parks.
3.2.2. Example: Query error(s)
Encountered a query error? Take a look below to see what went wrong.
Unable to retrieve car parks from data.gov.sg |
This error occurs when there is a connection problem to data.gov.sg. Please check your internet connection and try again.
3.3. Selecting a car park : select
You can either use this command to select a car park in the Display Panel, or just use your mouse to click on it.
|
Format | Abbreviation | Example(s) |
---|---|---|
select INDEX |
s / se / sel / sele / selec |
select 1 |
-
The index refers to the index number shown in the list of car parks in the Display Panel.
-
The index must be a positive integer
1, 2, 3, …
-
Selecting any index will automatically cause the Google Maps to zoom in on the car park location.
3.3.1. Example: Selecting the 20th car park in the list
This example will show you how to select a car park displayed in the Displayed Panel by using the command.
Selected car park: 20 |
Type select 20
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly. The selection will turn blue, as shown in Figure 5.
3.3.2. Example: Select error(s)
Encountered a select error? Take a look below to see what went wrong.
Invalid command format! |
This error occurs when you type the command wrongly in the Command Box. Either try again or just copy the command here.
3.4. Listing all car parks : list
Show a list of all the car parks in the Display Panel with their various details. If there are no car parks to be displayed and you did not clear them, typing this command would bring it back.
Format | Abbreviation |
---|---|
list |
l / li / lis |
3.4.1. Example: Listing all the car parks
This example will show you know to list all the car parks again. It starts off with a smaller list containing only car parks in Hougang.
list
command.From Figure 6, the current list only contains the car parks found in Hougang.
Listed all 2099 car parks |
Type list
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly. Refer to Figure 7 to see if the command executed succesfully. All the car parks should appear in the Display Panel and the Google Maps should zoom out
to show all of them.
3.5. Finding car parks : find
With a list of car parks, you can narrow down to just the car parks near your destination by either typing in the location or the specific car park number.
Format | Abbreviation | Example(s) |
---|---|---|
find KEYWORD |
fin |
find serangoon |
|
3.5.1. Example: How to find car parks by location
For this example, we will be looking at how to find all the car parks in Punggol.
53 car park(s) found! |
Type find punggol
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly. Figure 8 shows how it would look like, with the Google Maps zoomed in.
3.5.2. Example: How to find car park by car park number
1 car park(s) found! |
Type find PP5
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly. Figure 9 shows how it would look like, with the Google Maps zoomed in.
3.5.3. Example: Unable to find car park
If Car Park Finder is unable to find your location or car park number, it will display nothing.
0 car park(s) found! |
The message above will be shown, as well as an empty list in the Display Panel and no markers in the Google Maps.
3.6. Filtering car parks : filter
Filters the list of car parks returned by FindCommand
by the following flags:
-
Car park has available parking slots
a/
-
Car park has short-term parking
s/
-
Type of car park
ct/
-
Car park has free parking between a specified time period
f/
-
Car park has night parking
n/
-
Type of parking system that the car park uses
ps/
FilterCommand
can take in any number of flags, in any order.
Format | Abbreviation | Example(s) |
---|---|---|
filter FLAG&PARAMETER(S) [FLAG&PARAMETER(S)] … |
fil, filt, filte |
filter f/ sun 7.30am 5.30pm ct/ surface |
List of valid flags:
Criteria | Flag | Parameter Structure | Valid Parameters | Example(s) |
---|---|---|---|---|
Car park has free parking |
f/ |
DAY START_TIME END_TIME |
DAY: e.g. sun |
filter f/ sun 9.00am 5.30pm |
Car park has night parking |
n/ |
- |
- |
filter n/ |
Type of car park |
ct/ |
CAR_PARK_TYPE |
surface, multistorey, basement, mechanised, covered |
filter ct/ covered |
Car park has available parking slot |
a/ |
- |
- |
filter a/ |
Car park has short-term parking |
s/ |
- |
- |
filter s/ |
Type of parking system |
ps/ |
PARKING_SYSTEM_TYPE |
coupon, electronic |
filter ps/ coupon |
Take note that FindCommand
must be used to find a list of carparks within the location first.
Upper or lower case characters do not matter.
3.7. Undoing commands: undo
Restores the list of car parks to the state before the previous undoable command was executed.
Format | Abbreviation |
---|---|
undo |
u / un / und |
|
3.7.1. Example: Successful undo
If you accidentally type an undoable command and wish to undo it, here is how.
Undo success! |
Type undo
into the Command Box. The message above should appear in the Message Box
as confirmation that you
typed in correctly.
3.7.2. Example: Unable to undo
Not all commands are undoable as there is a limit to the number of undo commands.
No more commands to undo! |
If you see the message above in the Command Box it means there are no more undoable commands. You can also check the history to view what commands you have typed in so far.
3.8. Redoing commands : redo
Reverse the most recent undo
command.
Format | Abbreviation |
---|---|
redo |
r / re / red |
|
3.8.1. Example: Successful redo
Redo success! |
Type redo
into the Command Box. The message above should appear in the Message Box as confirmation that you
typed in correctly.
3.8.2. Example: Unable to redo
You reach the end of how far you can redo. Take note that not all commands are undoable / redoable.
No more commands to redo! |
If you see the message above in the Command Box it means there are no more redoable commands. You can also check the history to view what commands you have typed in so far.
3.9. Calculating the cost of parking : calculate
Calculates the cost of parking at a selected car park between a specified time period.
Format | Abbreviation | Example(s) |
---|---|---|
calculate CARPARK_NAME DAY START_TIME END_TIME |
ca, cal, calc, calcu |
calculate TJ39 sun 3.30am 6.30pm |
CalculateCommand
takes into account the free parking times of car parks.
It returns an error message if the car park has no short-term parking.
3.10. Enabling Notification : notify
|
After selecting a car park, you can choose to receive notifications on how many parking lots are still available. It sends an update periodically, so once it is enabled you do not need to type the command again into the Command Box.
Format | Abbreviation | Example(s) |
---|---|---|
notify TIME_SECONDS |
n / no / not / noti / notif |
notify 0 |
-
If you did not select a car park beforehand, Car Park Finder would not know which car park needs to be updated.
-
You can set within a range of 10 to 600 seconds (10 minutes). Decimal values are not allowed.
-
Typing
query
orclear
will disable the notification. -
As
notify
is based on the index ofselect
, you can select another car park to receive notification while it is enabled. -
This means if you type
find hougang
and the original car park is gone but the index is still valid, it will update that car park instead.
3.10.1. Example: Receive notification every 10 seconds
This example assumes you have already decided on a car park. For more information on how you can choose a suitable car park in Car Park Finder, please click here. |
It is time to head to your destination. Before you do so, why not check if the car park is full?
Step 1. Select your car park from the list. In this example, we will choose the 5th car park as shown in Figure 12.
Notification enabled for car park AM18 |
Step 2. Type notify 10
into the Command Box. The message above should appear in the Message Box
as confirmation that you typed in correctly.
Car park AM18 has 159 lot(s) available |
Car park AM18 has 167 lot(s) available |
Car park AM18 has 152 lot(s) available |
Step 3. Now that the notification is enabled, you do not have to do anything else. It will inform you whether there is a change in parking lots availability through visual updates like these messages above and Figure 13.
3.10.2. Example: Turn off notification
Now that you have gotten tired of the notification, it is time to disable it.
Notification disabled |
The message above will be displayed when you type notify 0
into the Command Box. You can also
exit Car Park Finder to turn off notifications.
Notification already disabled |
If you are unsure whether you have already disabled the notification, the message above will be shown if you have done so.
3.10.3. Example: Notify error(s)
Encountered a notify error? Take a look below to see what went wrong.
Invalid command format! |
This error occurs when you type the command wrongly in the Command Box. Either try again or just copy the command here.
Remember that notify 0
is how you disable the notification.
Cannot notify without selecting a car park first |
This error occurs when you did not select a car park and tried to enable notification. Please click here for more information.
Unable to retrieve car park information from data.gov.sg |
This error occurs when the data is not available from data.gov.sg. Therefore, it is not possible to enable notification for that particular car park.
Unable to retrieve car parks from data.gov.sg |
This error occurs when there is a connection problem to data.gov.sg. Please check your internet connection and try again.
3.11. Clearing all entries : clear
If you want to clear out all the car parks in Car Park Finder, this is the command for you.
Format | Abbreviation |
---|---|
clear |
cl , cle, clea |
3.11.1. Example: Clear all car parks
All car park information has been cleared! |
Once all the car parks are cleared, the message above will be displayed in the Message Box.
3.11.2. Example: No car parks
There is nothing to be cleared. |
If Car Park Finder does not have any car parks, then it will show the above message.
3.12. View past commands : history
Show all the commands that you have entered in reverse chronological order.
Format | Abbreviation |
---|---|
history |
hi , his , hist , histo , histor |
|
3.12.1. Example: Checking history
After running several commands, you might have forgotten what you have type in previously into the Command Box.
Entered commands (from most recent to earliest): |
Type history
into the Command Box. The message above is an example, but it should appear similar to the message in
the Message Box as confirmation that you typed in correctly.
3.12.2. Example: No past commands
If there are no previous commands, then they will be nothing to show. Remember that using the mouse to click is not considered as a command.
You have not entered any commands yet |
The message above will show when you run Car Park Finder and type history
into the Command Box, without typing
any other commands first.
3.13. Abbreviation: abbrev.
If you find the command words too long to type. Guess what? We have executable short form for each command in our command list.
You can find abbreviations of each command in the table that we provide to each section from 3.1 to 3.19.
However, there are ambiguous abbreviations that are not distinguishable between multiple commands.
Thus, you CANNOT use them: c , f , fi , h .
|
To see how useful it can be, please take a look at the examples below.
3.13.1. Example: Calculate Command
Step 1. Instead of entering calculate
into the Command Box, you can enter ca
instead.
Step 2. complete the rest of the fields with TJ39 SUN 7.00AM 9.00PM
, followed by pressing Enter to execute.
3.14. Autocomplete: Tab
If you forgotten how to type a command, do not worry! By typing in the first letter of the command in the Command Box and pressing the Tab key, it will display the full format of the command.
To see how useful it can be, please take a look at the examples below.
3.14.1. Example: Select Command
Step 1. Enter s
into the Command Box, followed by pressing Tab.
Your select
command will be completed.
Step 2. Substitute the selected field INDEX
with 1
, followed by pressing Enter to execute.
3.14.2. Example: Filter Command
Step 1. Enter fil
into the Command Box, followed by pressing Tab.
Your filter
command will be completed.
Step 2. Substitute the selected field DAY
with SUN
, followed by pressing Tab to move to the next field.
Step 3. Repeat step 2 until you substitute all the fields with actual value. (You can remove those fields you choose not to use). Then press Enter to execute.
3.15. Exiting the application : exit
When you are done with Car Park Finder, type this command to exit the application. You can also click on the close button above the menu bar to exit.
Format | Abbreviation |
---|---|
exit |
e / ex / exi |
|
3.16. Adding to favorites list : add
[coming in v2.0]
Add a car park into your favorites list.
Format | Abbreviation | Example(s) |
---|---|---|
add c/CARPARK_NUMBER |
a / ad |
add c/SE12 |
3.17. Removing from favorites list : delete
[coming in v2.0]
Remove the specified car park from your favorites list.
Format | Abbreviation | Example(s) |
---|---|---|
delete c/CARPARK_NUMBER |
d / de / del / dele / delet |
delete c/SE12 |
3.18. Sorting car parks : sort
[coming in v2.0]
Sort the list of car parks by distance or name.
To sort all the car parks, you must |
Format | Abbreviation | Example(s) |
---|---|---|
sort TYPE |
so / sor |
so NAME |
3.19. Weather forecast : weather
[coming in v2.0]
Include weather updates in the notifications by indicating on or off.
Format | Abbreviation | Example(s) |
---|---|---|
weather TOGGLE |
w / we / wea / weat / weath / weathe |
weather on |
Appendix A: FAQ
Q: How do I transfer my data to another computer?
A: Install the application in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Car Park Finder folder.
Q: If I do not know the postal code of the location, am I still able to find car parks through other means?
A: Yes, by typing keywords like street names.
Q: How much do I need to pay for the application?
A: It is totally free! Head over to our releases page to try it out!
Q: Does car park finder harm the environment?
A: No! It reduces the amount of cars on the road by reducing the waiting time for car parks!
Q: How do you plan to earn money in the future?
A: We plan to serve you deals on the best deals based off your selected car park!
Q: What future expansions do you see in the future?
A: We plan on listing hawker centers and have a real time CCTV feed of the entrance of the car park.
Appendix B: Glossary
Unsure of a few technical terms? We got you covered. Refer to Table 1 below.
Term | Explanation |
---|---|
Autocomplete |
Provides suggestions while you type into the field. |
Favourites |
A custom list of car parks that is meant to be viewed easily. |
Flag |
Flag is a value that acts as a check for the filter feature. |
Google Maps |
It is a online map service provided by Google. |
Mainstream Operating System (OS) |
Windows, Linux, Unix and OS-X are operating systems used widely in the world. |
Marker |
This is should in the Google Maps to indicate the location of the car park. You can click on it to either zoom in or display more information. |
User Interface (UI) |
Allows the user to interact with the application through inputs and outputs of data. |
Appendix C: Command Summary
This is the last section of the User Guide, but the most useful if you just want a list of commands to try. Refer to Table 2 for general commands and Table 3 for car park management. For more details on what each command does, please refer to Section 3.
Command | Format | Example |
---|---|---|
Help |
help |
he |
List |
list |
l |
Undo |
undo |
u |
Redo |
redo |
r |
Clear |
clear |
cl |
History |
history |
hi |
Exit |
exit |
e |
Command | Format | Example |
---|---|---|
Query |
query |
q |
Select |
select INDEX |
s 2 |
Find |
find KEYWORD [MORE_KEYWORDS] |
fin punggol |
Filter |
filter FLAG/ PARAMETER [MORE_FLAG/ PARAMETER] |
fil f/ SUN 7.30AM 5.30PM ct/ SURFACE |
Calculate |
calculate DAY START_TIME END_TIME |
cal SUN 3.30PM 6.30PM |
Notify |
notify TIME_SECONDS |
n 60 |