Logo

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

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.
Windows CLI

For computers running the macOS, the red arrow points to where you have to type in commands.
Apple CLI

2. Quick Start

The following steps will guide you through the process of running Nav@NUS.

  1. Ensure that you have Java 11 or above installed in your computer. If you do not have it installed, follow the guide here.
  2. Download the latest Nav@NUS.jar from here.
  3. Open command prompt on your computer.
  4. 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”.

    Windows Path
  5. Navigate back to the command prompt, type cd and the directory of the home folder. Press Enter to continue.

    cd_Command
  6. Run the .jar file in the command prompt as follows by typing java -jar Nav@NUS.jar and press Enter.
  7. Your screen should show the start screen of Nav@NUS as seen in the figure below.

    Start Screen
  8. 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:

  1. Words in bold are parameters to be provided by the user. (e.g. location_1)
  2. Parameters and commands to be entered by the user are not case-sensitive.
  3. /to is case sensitive.
  4. Location names must be in full for commands that require bus stop location(s).
  5. Words in [ ] are optional parameters (e.g. [description]).

:exclamation: 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:

  1. Type /route PGP /to NUS IT into the CLI and press Enter to execute the command as shown in the figure below.

    inputCommand

  2. The result will be a message displaying the list of buses you can take with their routes as shown in the figure below.

    output

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:

  1. 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.

    output

  2. Type /route University Health Centre /to PGPR into the CLI following the suggestion given and press Enter.

  3. The result will be a message displaying the list of buses you can take with their routes as shown in the figure below.

    FinalOutput

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:

  1. 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.

    list stops

  2. 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.

     stops to choose

  3. 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.

    the result

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:

  1. You type /routemap AA2 into the CLI and press Enter.

    inputRouteMapCommand

  2. The result will display the whole bus route of bus AA2.

    RouteMapCommand

  3. 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.

    inputRouteMapCommand

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:

  1. You type in /routemap AA2 into the CLI and press Enter.

    inputRouteMapCommand

  2. 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.

    RouteMapCommand

  3. 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:

  1. Type /bus University Town into the CLI and press Enter to execute the command as shown in the figure below.


  2. 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:

  1. The result will be a message displaying bus stop suggestions for possible error in user input.


  2. Type /bus museum into the CLI as suggested in the above output.

  3. 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.

inputCommand

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.

inputCommand

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.

output

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.

output

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.

output

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.

output

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.

output

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:

  1. Type /dine business into the CLI and press Enter to execute the command as shown in the figure below

    output

  2. 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.

    output

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:

  1. Type /route pgp /to nus it into the CLI and press Enter to execute the command as shown in the figure below.

    output

  2. 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 .

    output

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.

output

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.

output of deletefav

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:

original 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:

  1. Type /descfav 5 /to Get dinner @7:30PM every Tuesday into the CLI as shown in the figure below and press Enter.

    descfav input

  2. Type /listfav to see the changed description.

    list after changing

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.

output

3.3.7. Store favourite commands (Heng Chin)

:exclamation: 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.

similar locs message

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.

Correct input message

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.

Search Freq Prompt

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.

Correct input message

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:

inputCommand

3.4.5. Exit the program: /exit

This command helps you exit the application.

Format:
/exit

The application exits after displaying the following message.

Correct input 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:

  1. No additional parameter is needed if it is not mentioned (e.g. help).
  2. 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.

  1. Case-sensitive: Capital and lowercase letters are treated differently.
  2. Command Line Interface(CLI): Processes commands to a computer program in the form of lines of text.
  3. Corrupted file: A file containing invalid data or data it should not have.
  4. Dining options/outlets: Places you can eat at.
  5. Direct bus: Commuting between two locations does not require changing buses.
  6. Execute: Run the command to display the output.
  7. Similarity check: Check for possible spelling errors.