Welcome to AronaPro, and we thank you for choosing us as your all-in-one solution! Our product is a desktop app designed primarily for Computing Professors and Teaching Assistants(TAs) to manage your students/professors/TAs' contacts and schedules efficiently, optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). Our simple-to-grasp software also warmly welcomes professors and TAs from various faculties without any technological background!
We are excited to have you on board and to guide you through how to use our software with this guide. Click here to learn more about our User Guide.
Together, let us Centralise, Connect and Coordinate!
Welcome to our User Guide! Here, we have got everything you need to know about using all of our application's features. If you are already familiar with our application, dive straight into the Features section to discover more. However, if you are new to the application, we have got you covered. You can simply do so by following our guide systematically, starting with the Quick Start section, to quickly get up to speed with AronaPro before you start your own adventure. Let us get started!
Ensure you have Java 11 or above installed in your Computer.
Download the latest aronapro.jar here.
Copy the file to the folder you want to use as the home folder for AronaPro in your desired location. For demonstration purpose, we will save the downloaded jar file into test folder and saved it to Desktop on either Mac or Windows machines.
Open a command terminal, either by typing terminal on Mac or PowerShell on Windows machine and perform the following steps to reach the test folder created earlier in order to run the application:
ls to see what are all the folders in your current directory.cd <file_name> where the file name refers to the file name you are trying to enter. One tip is that file name can be auto-completed simply by typing the first few letters and hitting Tab.test folder and cd into it as show in the sequence of diagrams for both Mac and Windows machines below:


Lastly, enter the command: java -jar aronapro.jar to run the application.
A GUI similar to the below should appear in a few seconds.

view : Lists all contacts.
add id/E1234567 n/John Doe p/98765432 e/johnd@example.com t/Student g/CS2103T : Adds a student with NAME John Doe with NUSID of E1234567 to AronaPro.
delete id/E1234567 : Deletes the person with NUSID of E1234567.
clear : Deletes all contacts.
exit : Exits the app.
Refer to the Features below for details of each command.

| Name | Functionality |
|---|---|
| Command panel | Allows you to key in your commands here. |
| Response panel | Echoes the contact's information you have keyed and displays error messages if any to allow you to rectify. |
| Students/TAs/Professors contacts panel | Displays all the information of your contact list. |
| Scheduled meetings information panel | Displays all the information of your scheduled meetings. |
Words in UPPER_CASE are the parameters to be supplied by the user.
In the delete command as such:
delete id/NUSID,NUSIDis a parameter which need to be supplied.
Items in square brackets are optional.
n/NAME [t/TAG]can be used asn/John Doe t/Studentor simply asn/John Doewithout specifying theTAGas it is optional.
Items with … after them can be used multiple times or zero times.
[g/GROUP]…can be used as(i.e. 0 times) org/CS2101 g/CS2103T, demonstrating that group can be used 2 times by writing them successively on the same line etc.- The only exception to the above is when
NUSIDis of concern where it needs to be used at least once or more.id/NUSID…means that you need to use it once as such:id/E1234567or you can choose to use it more than once:id/E1234567 id/E0123456.
Parameters can be in any order.
If the command specifies
n/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help, view, exit and clear) will be ignored.
If the command specifies
help 123, it will be interpreted ashelp.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
helpShows a message explaining how to access the help page.
Format: help
addAdds a person to AronaPro.
Format: add id/NUSID n/NAME p/PHONE_NUMBER e/EMAIL t/TAG [g/GROUP]…
Note:
- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following a capital 'E'.NAMEcan consist of numbers.NAMEcan be duplicated for different persons.PHONE_NUMBERhas to be 3-10 digits long.
- It should have a local-part followed by a
@and then a domain name.
- Local-part should only contain alphanumeric characters and special characters(+ _ . -).
- Local-part may not start or end with any special characters.
- Domain name is made up of domain label separated by periods.
- Domain name must end with a domain label at least 2 characters long.
- Have each domain label start and end with alphanumeric characters.
- Have each domain label consist of alphanumeric characters, separated only by hyphens, if any.
- For
TAG, the valid forms have to be either 1 of these: Professor, TA, Student, None.- For
GROUP, the group must only contain alphanumeric characters or spaces.
Tip: A person can have 0 or more groups.
Examples:
add id/E1234567 n/John Doe p/98765432 e/johnd@example.com t/Student g/CS2103T
This command would add a person with
NUSIDof E1234567,NAMEof John Doe,PHONE_NUMBERof 98765432,TAGof Student,GROUPof CS2103T into AronaPro.

add id/E7654321 n/Betsy Crowe t/TA e/betsycrowe@example.com p/92345678
This command would add a person with
NUSIDof E7654321,NAMEof Betsy Crowe,TAGof TA,PHONE_NUMBERof 92345678 into AronaPro.

viewShows the entire list of persons in AronaPro.
Format: view
editEdits the information of a person of a specified NUSID in AronaPro.
Format: edit id/NUSID [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [t/TAG] [g/GROUP]…
Note:
- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following an 'E'.NAMEcan consist of numbers.NAMEcan be duplicated for different persons.PHONE_NUMBERhas to be 3-10 digits long.
- It should have a local-part followed by a
@and then a domain name.- Local-part should only contain alphanumeric characters and special characters(+ _ . -).
- Local-part may not start or end with any special characters.
- Domain name is made up of domain label separated by periods.
- Domain name must end with a domain label at least 2 characters long.
- Have each domain label start and end with alphanumeric characters.
- Have each domain label consist of alphanumeric characters, separated only by hyphens, if any.
- When editing
TAG, the valid forms have to be either 1 of these: Professor, TA, Student, None.- When editing
GROUP, the group must only contain alphanumeric characters or spaces.- At least one of the optional fields must be provided.
- Existing values will be replaced by and updated to the new input values.
- Attempt to edit a person with
NUSIDnot in AronaPro would result in an error message.
Examples:
edit id/E0123456 p/91234567 e/johndoe@example.com
This command would edit the phone number and email address of the person with
NUSIDE0123456 to be91234567andjohndoe@example.comrespectively.

edit id/E1234567 n/Betsy t/Professor
This command would edit the name and the tag of the person with
NUSIDE1234567 to beBetsyandProfessorrespectively.

findFinds persons whose details match ALL the given keywords.
Format: find [id/NUSID] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [t/TAG] [g/GROUP]…
Note:
- The
NUSIDsearch matches people that has a prefix that STARTS WITH the query (e.gE0123fetchesE0123456).- The
NAMEsearch is case-insensitive. e.ghanswill matchHans.- The order of
NAMEkeywords does not matter. e.g.Hans Bowill matchBo Hans.- Only full words will be matched for
NAMEe.g.Hanwill not matchHans.- Persons matching ANY word will be selected for
NAME(e.g.Hans Bowill fetchHans Gruber,Bo Yang).- The
PHONE_NUMBERsearch matches people that has a number that STARTS WITH the query (e.g9123fetches91237654).- The
charlesmatchesPrinceCharles@kingston.com).- The
TAGsearch uses an EXACT case-sensitive match.- The
GROUPsearch fetches people with ALL specified groups (e.gg/CS2101 g/CS2103Tmatches a person who minimally has BOTH these Groups).- Persons matching all parameters will be returned (i.e.
ANDsearch).
Examples:
find n/roy
This command would return
Roy G BivandRoy Balakrishnan.

find n/roy g/CS2101
This command would return
Roy Balakrishnanwho is the only person matching both the 2 conditions.

deleteDeletes person of a specified NUSID from the filtered address book OR deletes all persons from a specified GROUP from the filtered address book.
Format 1: delete id/NUSID
Note:
- Deletes the person of a specified
NUSID.- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following an 'E'.
Examples:
delete id/E0123456 This commmand will delete an existing person with
NUSIDof "E0123456".

Format 2: delete g/GROUP
Note:
- Deletes ALL people in a specified
GROUP.- The group refers to the group shown in the displayed person list.
- The group must exist in AronaPro beforehand.
Examples:
delete g/CS2103T This command will delete an existing person with
GROUPof "CS2103T".

groupAssigns either a group or a tag to a person of a specified NUSID from AronaPro.
Format: group id/NUSID… [g/GROUP]… [t/TAG]
Note:
- Groups the person of a specified
NUSID.- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following an 'E'.- More than one
NUSIDcan be specified for a group command to group more than one person (group id/E1234567 id/E0123456 g/Friends).- At least one of the optional fields must be provided.
- When assigning
TAG, the valid forms have to be either 1 of these: Professor, TA, Student, None.- When assigning
GROUP, the group must only contain alphanumeric characters or spaces.- Existing values will be replaced by and updated to the new input values.
- A person can be assigned to a non-existing group.
Examples:
group id/E0123456 g/CS2101 This command will assign or change a group of the person with
NUSIDE0123456 to 'CS2101'.

group id/E0123456 t/TA This command will assign or change the tag of the person with
NUSIDE0123456 to 'TA'.

scheduleSchedule a meeting with a person in AronaPro.
Format: schedule id/NUSID [s/SCHEDULE r/REMARK]
Note:
- Schedule a meeting with a person of the specified
nusIdon the specifiedSCHEDULEwith aREMARK.- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following an 'E'.- Both
SCHEDULEandREMARKmust be either provided or not provided.- If
SCHEDULEandREMARKare not provided and theSchedulecommand is used as a standalone, the schedule will be removed (schedule id/E1234567).
Tip: The SCHEDULE must be in one of the formats: DD/MM/YYYY, DD-MM-YYYY, DD.MM.YYYY, MMM DD, YYYY, DD MMM YYYY. Example of date formats include: 12-12-2024, 12/12/2024, 12.12.2024, Dec 12, 2024, 12 Dec 2024.
Examples:
schedule id/E0123456 s/12-12-2024 r/Consultation This command will schedule a meeting with the person of
NUSIDE0123456, withSCHEDULEon 12th December 2024 and aREMARKof Consultation. If there was a previous date, or remark, it will be replaced!

schedule id/E0123456 This command will remove the schedule with the person of
NUSIDE0123456.

pinPins a person to the top of AronaPro.
Format: pin id/NUSID
Note:
- The
NUSIDrefers to the NUSID shown in the displayed person list.- The
NUSIDmust be a 7-digit number following an 'E'.
Examples:
pin id/E0123456 This command will pin a student with
NUSIDof "E0123456".

clearClears all entries from AronaPro.
Format: clear

exitExits the program.
Format: exit
AronaPro data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
All data from the application is saved automatically as a JSON file [JAR file location]/data/addressbook.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, AronaPro will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause AronaPro to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous home folder.
preferences.json file created by the application before running the application again.schedule command, the command does not check for the validity of the date entered. Hence, it is important to ensure that the date entered is valid.schedule command, the command does not check if the valid date entered is in the future. Hence, it is important to ensure that the date entered is in the future.edit command, the command does not check for the validity of the domain name of the email entered as writing an incorrect domain name after the @ is accepted (e.g. @random.com). Hence, it is important to ensure that a valid domain name is entered.group command with a very long group name, the group name may be hidden from view. The remedy is to resize the window to view the full group name.!@#$%^&*()_+, the application does not allow such names to be added/edited. The remedy is to avoid using special characters in the names.Team size: 5
schedule command does not check for the validity of the date entered. We plan to implement a check to ensure that the date entered is valid.schedule command does not check if the valid date entered is in the future. We plan to implement a check to ensure that the date entered is in the future.edit command does not check for the validity of the domain name of the email entered. We plan to implement a check to ensure that a valid domain name is entered.group command with a very long group name, the group name may be hidden from view. We plan to implement a feature to allow users to view the full group name. Either by truncating the group name, allowing the user to view the full group name or limiting the length of the group name.!@#$%^&*()_+, the application does not allow such names to be added/edited. We plan to implement a feature to allow users to enter names with special characters.| Action | Format, Examples |
|---|---|
| Add | add id/NUSID n/NAME p/PHONE_NUMBER e/EMAIL t/TAG [g/GROUP]… e.g., add id/E1234567 n/James Ho p/22224444 e/jamesho@example.com t/Student g/CS2101 |
| Clear | clear |
| Delete | delete id/NUSIDe.g., delete id/E1234567OR delete g/GROUP e.g., delete g/CS2103 |
| Edit | edit id/NUSID [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [t/TAG] [g/GROUP]…e.g., edit id/E1234567 n/James Lee e/jameslee@example.com Tip: At least one of the optional fields must be provided |
| Find | find [id/NUSID] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [t/TAG] [g/GROUP]…e.g., find n/James g/CS2103T Tip: At least one of the optional fields must be provided |
| Group | group id/NUSID… [g/GROUP]… [t/TAG] e.g., group id/E1234567 g/T15 Tip: At least one of the optional fields must be provided |
| Schedule | schedule id/NUSID [s/SCHEDULE r/REMARK] e.g., schedule id/E1234567 s/12-12-2021 r/Consultation Tip: If SCHEDULE and REMARK are not provided and the Schedule command is used as a standalone, the schedule will be removed. |
| Pin | pin id/NUSID e.g., pin id/E1234567 |
| View | view |
| Help | help |