Opening words
Welcome to Nav@NUS application’s user guide!
The purpose of this user guide is to provide you with all the necessary information to use this application to navigate
around NUS campus via the school’s shuttle service.
Table of Contents
- 1. Overview
- 2. Quick Start
-
3. Features
-
3.1. Bus Features
- 3.1.1. Check for direct bus:
/route
(Wamika) - 3.1.2. Check bus route:
/routemap
(Johnson) - 3.1.3. Check for buses at a bus stop:
/bus
(Heng Chin) - 3.1.4. List all buses available in NUS
/allbus
(Shuyi) - 3.1.5. List all bus stops in NUS:
/liststops
(Yuxin) - 3.1.6. List all faculties in NUS:
/faculty
(Shuyi)
- 3.1.1. Check for direct bus:
- 3.2. Dine Features
-
3.3. Favourite Features
- 3.3.1. Add a favourite command:
/addfav
(Yuxin) - 3.3.2. List all favourite commands:
/listfav
(Shuyi) - 3.3.3. Delete a favourite command:
/deletefav
(Johnson) - 3.3.4. Execute a favourite command:
/execfav
(Heng Chin) - 3.3.5. Change the description for a favourite command:
/descfav
(Wamika) - 3.3.6. Clear the list of favourite commands:
/clearfav
(Shuyi) - 3.3.7. Store favourite commands - Heng Chin
- 3.3.1. Add a favourite command:
- 3.4. Common Features
-
3.1. Bus Features
- 4. FAQ
- 5. Command Summary
- 6. Glossary
1. Overview
1.1 What is Nav@NUS?
Are you new to NUS?
Are you searching for ways to get around NUS, all squeezed up in front of a tiny information board?
We have just the right solution for you!
Introducing Nav@NUS, your new navigation assistant!
Nav@NUS is a useful command line interface (CLI) application to guide you in navigating around the NUS campus
via the school’s shuttle services. This application enables you to retrieve key bus information easily, skipping the
hassle of physically checking the bus stop’s notice board. Nav@NUS is a tool tailor-made for anyone unfamiliar with
NUS campus, students, professors and visitors included. Nav@NUS brings convenience to you and wishes that your
commute in NUS is as effortless as possible. Nav@NUS uses a CLI to facilitate quick typing and retrieval of
information that you require.
Nav@NUS consists of 3 main features:
- Route: Searches for bus routes from your location to your intended destination.
- Dine: Seeks dining options for you to explore the culinary world of NUS.
- Favourites: Saves your commands to text files for you to have a personalised user experience catered to your needs.
Skip the tight squeeze near information boards and use Nav@NUS today!
1.2 About the User Guide
This user guide introduces you to the features available in Nav@NUS. Step-by-step guides are provided along with
instances when the features are used.
This user guide covers the following:
- How to use the Command Line Interface
- How to set up Nav@NUS
- Common instances when each feature is used
- Step-by-step instructions for using each feature
- Common errors or problems faced when using features
- Frequently asked questions
1.3 Introduction to Command Line Interface (CLI)
Nav@NUS sets up and runs on the CLI. As the CLI is not commonly used, it can seem daunting to users. To give you a better experience, this section will introduce you to the CLI.
Orientate yourself to the CLI. As seen in each figure below, the red arrow points to
where you have to type in commands.
For computers running the Windows OS, the red arrow points to where you have to type in commands.
For computers running the macOS, the red arrow points to where you have to type in commands.
2. Quick Start
The following steps will guide you through the process of running Nav@NUS.
- Ensure that you have Java
11
or above installed in your computer. If you do not have it installed, follow the guide here. - Download the latest
Nav@NUS.jar
from here. - Open command prompt on your computer.
- Copy the jar file to the folder you want to use as the home folder for Nav@NUS.jar application. In the example
shown in the figure, the home folder is found in the address path of “C:\Users\Johnson Yee\Desktop\CS2113T Empty folder”.
- Navigate back to the command prompt, type
cd
and the directory of the home folder. Press Enter to continue.
- Run the .jar file in the command prompt as follows by typing
java -jar Nav@NUS.jar
and press Enter. - Your screen should show the start screen of Nav@NUS as seen in the figure below.
- Try typing
/help
and press Enter!
3. Features
There are 17 commands available in Nav@NUS. The following are instructions for using the features.
Notes about command format:
- Words in bold are parameters to be provided by the user. (e.g. location_1)
- Parameters and commands to be entered by the user are not case-sensitive.
/to
is case sensitive.- Location names must be in full for commands that require bus stop location(s).
- Words in [ ] are optional parameters (e.g. [description]).
WARNING: You are recommended not to edit the text files manually.
3.1. Bus Features
This section provides instructions for all features categorised under the main feature of navigation by bus.
3.1.1. Check for direct bus: /route
(Wamika)
This command displays all bus routes from one location to another that do not require changing buses.
Format:
/route location_1 /to location_2
Note: Short forms of bus stop names cannot be used. For example, UTown cannot be used in place of University Town. For more information, see Example 2 of Common errors and problems
Examples of Usage
Let’s say you are currently at PGP and want to find out the buses you can board from PGP bus stop to get to NUS IT.
To find all such bus routes:
-
Type
/route PGP /to NUS IT
into the CLI and press Enter to execute the command as shown in the figure below.
-
The result will be a message displaying the list of buses you can take with their routes as shown in the figure below.
Common errors and problems
Example 1
Let’s say you are currently at University Health Centre and you want to go to PGPR. But you accidentally type “Univerity
Health Center” instead.
Here’s what you can do:
-
When you type
/route Univerity Health Center /to PGPR
into the CLI and press Enter to execute the command, the result will be a message displaying suggestions for possible spelling errors you may have made.
-
Type
/route University Health Centre /to PGPR
into the CLI following the suggestion given and press Enter. -
The result will be a message displaying the list of buses you can take with their routes as shown in the figure below.
Example 2
Let’s say you want to go from KR MRT to YIH, but you do not know the full names of these locations.
Here’s what you can do:
-
Type
/liststops
into the CLI as shown in the figure below and press Enter. You can find more details about/lisstops
in section 3.1.5. of the User Guide.
-
The result will be a list of bus stops in NUS. Manually search for the full forms of KR MRT and YIH as shown in the figure below.
-
Type
/route Kent Ridge MRT Station /to Yusof Ishak House
into the CLI and press Enter. You will see the buses you can take as shown in the figure below.
3.1.2. Check bus route: /routemap
(Johnson)
This command displays the full route of the bus that you have specified.
Format: /routemap bus code
Examples of Usage
Example 1
This command is exceptionally useful to find indirect bus routes.
Let us suppose that you are at Raffles Hall with only bus AA2 available and would like to go to University Town.
You would notice that there is no direct bus to University Town. You could use the /routemap
to find
indirect routes to your intended destination.
To find indirect bus routes:
-
You type
/routemap AA2
into the CLI and press Enter.
-
The result will display the whole bus route of bus AA2.
-
With the information that bus AA2 could bring you to bus stops after Raffles Hall (e.g. Kent Vale), you can now check if there is a direct bus route from these bus stops.
Example 2
This command is also useful for showing you the previous bus stops of your intended bus. You could use this information
to gauge how crowded the bus would be.
Let us suppose that you are at Raffles Hall intending to board AA2.
These are the steps to follow:
-
You type in
/routemap AA2
into the CLI and press Enter.
-
The result will display the whole bus route of bus AA2. You will observe that the bus passes through University Town which is relatively more crowded than other bus stops.
-
With this information, you could explore other bus routes to get to your destination.
3.1.3. Check for buses at a bus stop: /bus
(Heng Chin)
This command displays all buses available at a specific bus stop.
Format:
/bus bus stop
Examples of Usage
Let’s say that you are at University Town bus stop, and you want to know the buses which are available for you to take. Instead of searching for the bus stops which all the buses stop at, you can easily access this information by using the /bus
command.
To search for available buses at University Town:
-
Type
/bus University Town
into the CLI and press Enter to execute the command as shown in the figure below.
-
The result will be a message displaying the buses available at University Town.
Common errors
Let’s say that you are at the museum bus stop, and you want to know the buses which are available for you to take. However, you make a spelling error and type “musuem” instead.
These are the steps to fix the mistake:
-
The result will be a message displaying bus stop suggestions for possible error in user input.
-
Type
/bus museum
into the CLI as suggested in the above output. -
The result will be a message displaying the buses available at the museum.
3.1.4. List all buses available in NUS /allbus
(Shuyi)
This command lists all buses available in NUS with their respective routes.
Format:
/allbus
Examples of Usage
Let’s say you want to see a list of all bus routes so that you can plan your trip around NUS accordingly.
To see the complete list of buses:
Type /allbus
into the CLI and press Enter.
3.1.5. List all bus stops in NUS: /liststops
(Yuxin)
This command lists all bus stops in NUS.
Format:
/liststops
Examples of Usage
Let’s say you want to know more about the bus stops in NUS.
To see the description of each location:
Type /liststops
into the CLI and press Enter.
3.1.6. List all faculties in NUS: /faculty
(Shuyi)
This command lists out all faculties in NUS.
Format:
/faculty
Examples of Usage
Let’s say you want to know the names of all faculties in NUS.
Here’s what you csn do:
Type /faculty
into the CLI and press Enter to execute the command as shown in the figure below.
3.2. Dine Features
This section provides instructions for all features categorised under the main feature of locating dining options.
3.2.1. Search for dining options within a faculty: /dine
(Shuyi)
This command lists out all dining outlets available within a chosen faculty.
Format:
/dine faculty
Examples of Usage
Example 1
Let’s say you want to know all the dining options available in School of Business.
Here’s what you can do:
Type /dine business
into the CLI and press Enter to execute the command as shown in the figure below.
Example 2
Let’s say you want to know the available dining options in the Science faculty, but you are feeling a little lazy to type out the full name of the faculty.
You can simply use Sci instead of Science:
Type /dine sci
into the CLI and press Enter to execute the command as shown in the figure below.
Notes about the
/dine
feature:
- It is possible for the feature to return results from multiple faculties if the keyword used for the search is not specific to the desired faculty.
- For example,
/dine school
will yield results from both School of Business and School of Computing.
3.2.2. Search for specific dining outlet: /dineinfo
(Shuyi)
This command finds all dining outlets that contain the keyword, and displays their location and operating hours.
Format:
/dineinfo outlet
Examples of Usage
Example 1
Let’s say you want to find information about the dining outlet Arise & Shine.
Here’s what you can do:
Type /dineinfo arise
into the CLI and press Enter to execute the command as shown in the figure below.
Example 2
Let’s say you cannot remember the full name of the outlet that you are searching for. You can simply type in a keyword instead.
To find the information of a dining outlet with the name containing Jewel:
Type /dineinfo jewel
into the CLI and press Enter to execute the command as shown in the figure below.
3.3. Favourite Features
This section provides instructions for all features categorised under the main feature of personalisation of application to your needs.
3.3.1. Add a favourite command: /addfav
(Yuxin)
This command adds a valid command with an optional description to your list of favourites.
Note: A valid command is a command that does not return an error message and is not associated with any commands related to favourites.
Format:
/addfav [description]
Examples of Usage
Example 1
Let’s say you want to add the command to list dining options in business.
These are the steps to follow:
-
Type
/dine business
into the CLI and press Enter to execute the command as shown in the figure below
-
Type
/addfav dining options in business
and press Enter to execute the command to store the command in your list of favourites with the description “dining options in business” as shown in the figure below.
Example 2
Let’s say you want to add the command that guided you from PGP to NUS IT to your list of favourites.
These are the steps to follow:
-
Type
/route pgp /to nus it
into the CLI and press Enter to execute the command as shown in the figure below.
-
Type
/addfav
into the CLI and press Enter to execute the command to store the command in your list of favourites with no description as shown in the figure below .
3.3.2. List all favourite commands: /listfav
(Shuyi)
This command displays all the commands in your list of favourite commands, along with their index and description.
Format:
/listfav
Examples of Usage
Let’s say you want to take a look at all the commands that were previously added to your list of favourite commands.
Here’s what you can do:
Type /listfav
into the CLI and press Enter to execute the command as shown in the figure below.
3.3.3. Delete a favourite command: /deletefav
(Johnson)
This command deletes the command that you have specified from the list of favourite commands.
Note: Index keyed in must be within the range of 1 - n, where n is the number of favourite commands.
Format:
/deletefav index in list
Examples of Usage
Let’s say that you have stored the command /routemap AA1
in your list of favourite commands.
After reviewing your list of favourite commands, you do not want to have this command in it.
To delete this command from your favourites list:
Type /deletefav index
into the CLI and
press Enter to execute the command as shown in the figure below.
3.3.4. Execute a favourite command: /execfav
(Heng Chin)
This command executes the specific command in your list of favourite commands.
Format:
/execfav index in list
Examples of Usage
Let’s say that you have stored the command /route Opp University Health Centre /to Opp Kent Ridge MRT station
in your list of favourite commands. Instead of typing the long command using /route
, you can now conveniently use the /execfav
command.
Given you have the list of favourite commands:
To execute the command with the 2nd index in your list of favourite commands:
Type /execfav 2
into the CLI and press Enter to execute the command as shown in the figure below.
Common errors and problems
Let’s say your data has been corrupted and thus your list of favourite commands contains an invalid command.
If you attempt to execute the command, Nav@NUS will automatically delete the corrupted data from your list.
Given you have the list of favourite commands:
If you attempt to execute the invalid command /bus random place
in your favourites list. Nav@NUS will automatically delete the corrupted data from your list as seen below:
3.3.5. Change the description for a favourite command: /descfav
(Wamika)
This command helps you change the description of a command in your list of favourites.
Format:
/descfav index /to new description
Examples of Usage
Let’s say you have the following list of commands:
You want to change the description for /dineinfo Pines
from “No description” to “Get dinner @7:30PM every Tuesday”.
You can do so by following these steps:
-
Type
/descfav 5 /to Get dinner @7:30PM every Tuesday
into the CLI as shown in the figure below and press Enter.
-
Type
/listfav
to see the changed description.
3.3.6. Clear the list of favourite commands: /clearfav
(Shuyi)
This command clears all the commands stored in your list of favourite commands.
Format:
/clearfav
Examples of Usage
Let’s say you no longer need any of the commands in your list of favourite commands. Instead of using
/deletefav
to remove the commands one by one, you can use the /clearfav
feature to clear
your favourites list at one go.
Here’s what you can do:
Type /clearfav
into the CLI and press Enter to execute the command as shown in the figure below.
3.3.7. Store favourite commands (Heng Chin)
WARNING: DO NOT modify the FavList.txt
file
In order to make Nav@NUS a personalized application for you, all data from your list of favourite commands will be stored on your computer. Thus, everytime Nav@NUS launches, you will be able to maintain and update your list of favourite commands.
The data is stored in the FavList.txt
file in the data
folder located in the same location as the Nav@NUS jar file.
3.4. Common Features
This section provides instructions for all the common features.
3.4.1. Check for similar locations (Wamika)
When you enter a location and make a spelling error or a typo in the name, the app performs a similarity check with existing location names and suggests some locations to you. The app executes this command automatically and does not require any explicit input from you.
Examples of Usage
Let’s say you want to find all buses that stop at Opp HSSML, but you type /bus Opp HSML
instead.
You will receive a message with suggested location names you can use as shown in the figure below.
You may then type in the command again with the correct location to see a list of buses that stop at Opp HSSML
as shown in the figure below.
Note: This check is only applicable to bus stop names, so the app performs it only when you enter a
/route
command or a/bus
command.
3.4.2. Display most searched bus stop on start-up (Johnson)
This feature displays your most commonly searched bus stop to remind you of what to type in when using the navigation functions.
The application executes this command on start-up and does not require any explicit command to use this feature.
Examples of usage
On start-up, you will receive a prompt of your most searched bus stop. This personalises your application and gives you
the memory jolt of what to key in.
3.4.3. Reset frequent search data: /reset
(Johnson)
This command resets the data set used to display the most frequently searched bus stop on application start-up.
Format:
/reset
Examples of usage
Let us suppose that you are transitioning to a new academic semester, and the locations that you will key in to the
application changes. To create a new data set that will cater to your needs in this new semester, you will key in the
command /reset
to reset the data set and start the application on a clean slate.
3.4.4. List available help: /help
(Yuxin)
This command lists a set of features along with their respective commands available to users.
Format:
/help
The expected outcome is as follows:
3.4.5. Exit the program: /exit
This command helps you exit the application.
Format:
/exit
The application exits after displaying the following message.
4. FAQ
This section addresses some common questions to aid in possible issues faced.
Q: Where can I find the release?
It can be found here.
Q: How do I transfer my data to another computer?
Simply copy your data
folder from the current directory and paste it in the directory containing the Nav@NUS.jar
file in the other computer.
Q: What do I do if I have accidentally made changes to the FavList.txt
file?
Simply run Nav@NUS and the program will automatically delete most of the corrupted data.
5. Command Summary
The following table provides a summary of features and command formats.
Note:
- No additional parameter is needed if it is not mentioned (e.g. help).
- The table below is arranged in alphabetical order.
Command | Format | Example |
---|---|---|
/addfav |
/addfav [description]
|
1. /addfav 2. /addfav dining options in business
|
/allbus | /allbus |
/allbus |
/bus |
/bus location
|
/bus PGP
|
/clearfav | /clearfav |
/clearfav |
/deletefav |
/deletefav index
|
/deletefav 1
|
/descfav |
/descfav index /to new description
|
/descfav 5 /to Get dinner @7:30PM every Tuesday
|
/dine |
/dine faculty
|
/dine business
|
/dineinfo |
/dineinfo outlet
|
/dineinfo arise & shine
|
/execfav |
/execfav index
|
/execfav 5
|
/exit | /exit |
/exit |
/faculty | /faculty |
/faculty |
/help | /help |
/help |
/liststops | /liststops |
/liststops |
/listfav | /listfav |
/listfav |
/reset | /reset |
/reset |
/route |
/route location1 /to location2
|
/route PGP /to Raffles Hall
|
/routemap |
/routemap bus code
|
/routemap AA1
|
6. Glossary
This section defines key technical terms we have used throughout the user guide.
- Case-sensitive: Capital and lowercase letters are treated differently.
- Command Line Interface(CLI): Processes commands to a computer program in the form of lines of text.
- Corrupted file: A file containing invalid data or data it should not have.
- Dining options/outlets: Places you can eat at.
- Direct bus: Commuting between two locations does not require changing buses.
- Execute: Run the command to display the output.
- Similarity check: Check for possible spelling errors.