User Guide
Welcome to uNivUSal’s User Guide!
Are you a CS2103T student, TA, or professor?
Have you encountered the hassle of contact management in this CS2103T?
If so, uNivUSal is the contact management app for you! With uNivUSal, you will never have to worry about all the contact information of all your contacts. Gone are the days of frustrating over finding the contacts you need, and you will never be stressed about forgetting the contact information of the people you meet.
Introduction
uNivUSal is a desktop app for managing contacts catered to CS2103T students, TAs, and professors, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Confused over what CLI & GUI is? Here’s a link to get you up to speed!
In this user guide, you can find everything you need to know about uNivUSal starting with how to get started using uNivUSal, followed by instructions on how to use uNivUSal and all the exciting features you can explore.
If you are a developer, you might want to explore our Developer Guide instead.
How to use uNivUSal’s User Guide?
If this is your first time using uNivUSal, welcome! Head over to the Quick start to get started!
If this is not your first time, and you have a specific feature you would like to know more about, check out our Command Summary or Table of Contents to find what you are looking for!
Have a question regarding the app? You might find the answer in the FAQ section.
You can also refer to the Glossary section for definitions of commonly used terms in uNivUSal.
Notations used in this guide
If you are wondering why our guide uses different styling, here is why:
- Headers in orange are to represent the different sections of the guide.
- Bolded words are words/phrases we want to draw attention to you.
- [Words in blue] are links that will provide you with helpful information.
Refer to the table below for the meanings of symbols used:
Symbol | Meaning |
---|---|
Notes | Information that you must pay attention to. |
Tip | Information that you may find helpful. |
Warning | Information that you should be cautious about |
Table of Contents
- Quick start
-
Basic Commands:
-
Adding a person :
add
-
Editing a person :
edit
-
Deleting a person :
delete
-
Listing all persons :
list
-
Clearing all entries :
clear
-
Find a person :
find
-
Sorting entries by field :
sort
-
Adding a person :
-
Enhanced Commands:
- Quickly edit a person
-
Add a person to favorite :
fav
-
Add a person to a group:
addtogroup
-
Remove a person from a group :
ungroup
-
Open a group window :
group
-
Email all persons in a group :
emailall
-
Add a person’s social :
include
-
Delete a person’s social :
exclude
-
Set a person’s preferred social media :
prefer
-
Open a person’s social media :
open
-
Find persons with a preferred social media :
social
-
General App Commands:
-
Viewing help :
help
-
Viewing history :
history
-
Undoing last command :
undo
-
Exiting the app :
exit
-
Viewing help :
- FAQ
- Command summary
- Glossary
Quick start
Installation
Before starting on your uNivUSal exploration, here’s a short guide on uNivUSal’s installation.
-
Ensure you have Java
11
or above installed in your Computer. Otherwise, you can install it here. -
Download the latest
uNivUSal.jar
. - Copy and move the file to the folder you want to use as the home folder for your uNivUSal. If you are unsure, you can refer to this.
-
Double-click the file to start the app. The GUI similar to the image below should appear in a few seconds. Note how the app contains some sample data.
- Type the command in the command line and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.Unsure of what a command line is? Refer to our Layout section here
- Refer to the Basic Commands, Enhanced Commands, General App Commands below for details of each command.
Layout
New to uNivUSal? Confused with the unfamiliar interface? This section will help you through those problems and guide you through uNivUSal’s layout!
General Layout
This is how uNivUSal will appear when you first launch your app. Now, let’s proceed with each component.
Command Line
A command line is the place for you to type in all your commands. Try typing out help
in the command line for a start!
Result Display
A result display is where you will see uNivUSal’s response to your commands! The response would either indicate a success or error in the command you entered.
Person Card
A person card displays all the details of the person you inputted. For example, in the image above, the person has the following details:
- Index - 1
- Name - Alex Yeoh
- Tag - friends
- Tutorial - T08
- Phone - 87438807
- Address - Blk 30 Geylang Street 29, #06-40
- Email - alexyeoh@example.com
Want a more detailed explanation on the person fields? Head over to this section: Person Fields
Social Box and Social Buttons
The highlighted feature of uNivUSal comes down to our Socials! The social box is where you can find all of your contact’s socials (in the form of buttons), including their preferred social.
Want to know more about our social feature? Head over to parts g to k of our Enhanced Commands!
Command Format
Here’s a short list of command formats to familiarize yourself with our User Guide’s instructions!
Notes about the command format when using CLI before you start using uNivUSal:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional.
e.gn/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If a parameter is expected only once in the command but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Person Fields
Still lost on the details you can add to a person? This section will walk you through all the person fields available for a person’s contact in uNivUSal.
Need some visual reference for the person fields? Refer back to our PersonCard section!
Unsure of what a prefix is? Give our prefix definition a quick read before proceeding!
a. occupation : o/
You can see the occupation of a person in uNivUSal is here.
Format: o/OCCUPATION
-
OCCUPATION
includesSTUDENT
,TA
,PROFESSOR
. -
OCCUPATION
is not case-sensitive. -
OCCUPATION
is a compulsory field of a person.
Example : o/student
b. name : n/
You can see the name of a person in uNivUSal here.
Format: n/NAME
-
NAME
can be more than one word long but cannot be empty. -
NAME
is a compulsory field of a person.
Example : n/Shelby Peanuts
c. phone : p/
You can see the phone number of a person in uNivUSal here.
Format : p/PHONE
-
PHONE
must only contain digits and not alphabets, and it should be at least 3 and at most 15 digits long.
Example : p/97865486
d. email : e/
You can see the email of a person in uNivUSal here.
Format : e/EMAIL
Emails should be of the format local-part@domain and adhere to the following constraints:
- The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-). The local-part may not start or end with any special characters.
- This is followed by a ‘@’ and then a domain name. The domain name is made up of domain labels separated by periods.
The 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.
Example : e/betty@u.nus.edu
e. tutorial : tut/
You can see the tutorial group of a person in uNivUSal here.
Format : tut/TUTORIAL
-
TUTORIAL
must contain a letter from[F/T/W]
followed by two digits.
Example : tut/T08
f. address : a/
You can see the address of a person in uNivUSal here.
Format : a/ADDRESS
-
ADDRESS
must be at most 100 characters long.
Example : a/36 College Avenue
g. tags : t/
You can see the tag(s) of a person in uNivUSal here.
Format : t/TAGS
Example : t/classmate friend
Basic Commands
At this point, you should be ready to explore the commands you can use in uNivUSal. This section will provide you with the basic commands to get you started using uNivUSal.
a. Adding a person: add
Let’s start with our basic command, add
! This command allows you to add a person to uNivUSal.
Format: add o/OCCUPATION n/NAME [p/PHONE_NUMBER] [e/EMAIL] [tut/TUTORIAL] [a/ADDRESS] [t/TAG]…
Examples:
add o/STUDENT n/John Doe p/98765432 e/johnd@example.com tut/T08 a/John street, block 123, #01-01
-
add o/TA n/Betsy Crowe e/betsycrowe@u.nus.edu
b. Editing a person : edit
Entered a typo you want to fix? Or do you simply want to update some parts of your contacts? The edit
command is here
to help you edit an existing person in uNivUSal.
Format: edit INDEX [o/OCCUPATION] [n/NAME] [p/PHONE] [e/EMAIL] [tut/TUTORIAL] [t/TAG]…
- Edits the person at the specified
INDEX
. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
- You can remove all the person’s tags by typing
t/
without specifying any tags after it.
Examples:
-
edit 1 p/91234567 e/janedoe@example.com
Edits the phone number and email address of the 1st person to be91234567
andjanedoe@example.com
respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags.
c. Deleting a person: delete
Now you might have added a person with many incorrect fields, and would rather remove them instead. So to delete them from uNivUSal, use the delete
command!
Format: delete INDEX [PREFIX/]
- Deletes the person at the specified
INDEX
. - The index refers to the index number shown in the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- If
PREFIX/
is provided, deletes the specified field of the person at the specifiedINDEX
Examples:
-
Before
delete 1
, you will see the current list. -
After
delete 1
, the first person (Alex Yeoh) is removed from the list. -
After
delete 1 p/
, the first person (Alex Yeoh) has his phone number removed.
d. Listing all persons : list
After experimenting with other commands, you might want to check back on all the people you currently have in uNivUSal.
To do so, simply type in the command list
!
Format: list
e. Clearing all entries : clear
If you feel like starting with a clean page, do the clear
command which clears all entries from uNivUSal.
Format: clear
- Deletes every person in uNivUSal.
- Only a blank uNivUSal will remain.
f. Find entries by keywords of fields : find KEYWORD
e.g. find Alex
With so many contacts, it can be frustrating to scroll through them all. With the help of the find
command, you can find entries in uNivUSal that match or contain case-insensitive keyword. Current fields searchable are:
- Name
- Phone Number
Format: find KEYWORD
- Filters the entries by the specified
KEYWORD
. - Displays filtered list.
Examples:
-
find Alex
displays the entries filtered by names that contain the case-insensitive KEYWORDAlex
. -
find A
displays the entries filtered by names that contain the case-insensitive KEYWORDA
.
g. Sort entries by field : sort FIELD_PREFIX/
e.g. sort n/
As your contact list in uNivUSal grows, you might find it hard to keep track of all your contacts. When you are looking
to organize your contacts, the sort
command will help you do just that!
Sorts your entries easily in uNivUSal by specific field prefix in an ascending manner. Current fields implemented are:
- Name
n/
- Email address
e/
- Phone
p/
Format: sort FIELD_PREFIX/
- Sorts the entries by the specified
FIELD_PREFIX/
. - Displays sorted list.
Examples:
-
Before
sort n/
, you would see the current unsorted list. -
After
sort n/
, all your contacts are alphabetically sorted by their name.
Enhanced Commands
Ready to get more out of uNivUSal? Here are the enhanced features you can experiment on to enhance your uNivUSal experience!
Enhanced features b to f are the groups feature of uNivUSal.
Enhanced features g to k are the social features of uNivUSal.
a. Quickly edit a person’s features
Quickly make small changes to a person by clicking on a person card while the command box is empty. This creates an edit command with all the features that person currently has. You may then modify this command to your needs.
b. Add a person to favorite : fav
Thinking of a group of people important to you? Or perhaps a group of people you would want to easily find in uNivUSal?
The fav
command is here to assist you! fav
allows you to add the specified person to your favorite
group.
Format: fav INDEX
- The index refers to the index number shown in the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
fav 1
will add 1st person in the current list tofavorite
. To open thefavorite
group, enter thegroup favorite
. You should see a new window pop up like the image below. Refer togroup
for more information on accessing yourfavorite
group.
c. Adding a person to a group : addtogroup
When you’re ready to start creating groups and adding people to them, use the addtogroup
command! If the group does not exist yet, it creates it for you.
Format: addtogroup INDEX GROUP
- Adds the person at the specified
INDEX
to the specifiedGROUP
. - The index refers to the index number shown in the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
addtogroup 2 friends
adds the 2nd person in the current list to the groupfriends
.
d. Removing a person from a group : ungroup
If you want to remove a person from a group, simply ungroup
them!
Format: ungroup INDEX GROUP
- Removes the person at the specified
INDEX
from the specifiedGROUP
. - The index refers to the index number shown in the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
ungroup 2 friends
ungroups the 2nd person in the current list from the groupfriends
.
e. Opening a group window : group
To see your friends
, colleagues
, or any other groups, use the group
command to open a new window where you can easily reach them!
Format: group GROUPNAME
- Opens a new window containing persons from the specified
GROUPNAME
. -
GROUPNAME
should not contain spaces.
Examples:
-
group friends
opens a group window containing persons in the groupfriends
.
f. Email all persons in a group : emailall
What if you want to send an email to all the members of a group? With the emailall
command, you can do just that!
Format: emailall GROUPNAME
- Opens the email client to all persons in
GROUPNAME
. -
GROUPNAME
should not contain spaces.
Examples:
-
emailall friends
opens the email client to all persons in the groupfriends
. -
Email client or web browser opens
g. Add a person’s socials : include
You can add a valid SOCIAL
to an existing person in uNivUSal as shown below.
General format: include INDEX s/SOCIAL #/SOCIAL_INFO
-
SOCIAL
currently includes:- Telegram
-
SOCIAL_INFO
currently includes:- Whatsapp phone number
- Telegram username
- Instagram username
-
SOCIAL
is case-insensitive -
INDEX
refers to the position of the contact in the list. See Layout.
Format(WHATSAPP): include INDEX s/WHATSAPP #/WHATSAPP_PHONE_NUMBER
Format(Telegram): include INDEX s/TELEGRAM #/TELEGRAM_USERNAME
Format(Email): include INDEX s/EMAIL #/EMAIL_ACCOUNT
Format(Instagram): include INDEX s/INSTAGRAM #/INSTAGRAM_USERNAME
Examples:
-
include 1 s/WHATSAPP #/87654321
sets87654321
as the whatsapp phone number of the 1st person in the contact list. -
include 1 s/TELEGRAM #/JohnDoe321
setsJohnDoe321
as the telegram username of the 1st person in the contact list. -
include 1 s/EMAIL #/johnd@example.com
setsjohnd@example.com
as the social email of the 1st person in the contact list. -
include 1 s/INSTAGRAM #/johndoe
setsjohndoe
as the instagram username of the 1st person in the contact list. -
Before running the above commands:
- After running the above commands:
Notes about email and whatsapp phone number
- EMAIL_ACCOUNT should be of the format
local-part@domain
- WHATSAPP_PHONE_NUMBER should only contain numbers, and it should be at least 3 digits long.
- If the person already has an existing email account in uNivUSal, it will be added to the social.
- But the Phone number will not be added as the person’s WHATSAPP_PHONE_NUMBER.
h. Delete a person’s socials : exclude
If you made a mistake in entering a person’s socials, or a particular contact changed one of their social media information. You can easily delete a specified person’s socials from uNivUSal as shown below.
Format: exclude INDEX s/SOCIAL
-
SOCIAL
currently includes:- Telegram
- Preferred
-
SOCIAL
is case-insensitive -
INDEX
refers to the position of the contact in the list. See Layout.
Examples:
-
exclude 1 s/TELEGRAM
deletes the telegram username of the 1st person in the contact list. -
exclude 1 s/INSTAGRAM
deletes the instagram username of the 1st person in the contact list. - Before running the above commands:
- After running the above commands:
i. Set a person’s preferred social media : prefer
If your contact has a specific social media they prefer to use. How do you remember all the different preferred mode of communication of all your contacts? Well, you can easily set a specified person’s preferred social media in uNivUSal as shown below.
Format: prefer INDEX s/SOCIAL
-
SOCIAL
currently includes:- Telegram
-
SOCIAL
is case-insensitive -
INDEX
refers to the position of the contact in the list. See Layout.
Examples:
-
prefer 1 s/TELEGRAM
sets telegram as the preferred social media of the first person in the contact list. -
prefer 1 s/INSTAGRAM
sets instagram as the preferred social media of the first person in the contact list. - Before running the above commands:
- After running
prefer 1 s/TELEGRAM
:
- After running
prefer 1 s/INSTAGRAM
:
j. Open a person’s social media : open
After you have added all the social media information of your contacts. How do you access all the information? You can easily open a specified person’s social media in your default web browser as shown below.
Format: open INDEX s/SOCIAL
-
SOCIAL
currently includes:- Telegram
- Preferred (the person’s currently preferred social media that has been set)
-
SOCIAL
is case-insensitive -
INDEX
refers to the position of the contact in the list. See Layout.
Examples:
-
open 1 s/WHATSAPP
opens the link to the whatsapp of the first person in the contact list. -
open 1 s/TELEGRAM
opens the link to the telegram of the first person in the contact list. -
open 1 s/INSTAGRAM
opens the link to the instagram of the first person in the contact list. -
open 1 s/PREFERRED
opens the link to the preferred social media of the first person in the contact list.
Notes on opening social
The social media boxes are buttons! Clicking the social media boxes of the contacts will open the link to the social media of the person. Try it out!
k. Find persons with a preferred social media : social
With the many forms of preferred social media, you might find it hard to keep track of the people preferring a specific
social media (e.g. Telegram). Well, the social
command would easily ease your worries on this! By using the social
command, you can filter the current list to people by a specific preferred social media.
Format: social SOCIAL
-
SOCIAL
currently includes:- Telegram
-
SOCIAL
is case-insensitive
Examples:
- Before
social telegram
, you will see all your contacts with their multiple preferred social media.
- After
social telegram
, you will see a filtered list of persons withtelegram
as their preferred social media.
General App Commands
Worried that you’d forget a command or typed in the wrong command? Our general app features is here to help you get through these worries!
a. Viewing help : help
Shows a message explaining the basic features of the app and also provides a link to the website.
Format: help
b. Viewing history : history
If you’ve forgotten the previous commands you’ve typed, use the history
command which shows up to the previous five commands typed by the user.
Format: history
Example:
c. Undo last modification : undo
Entered a command you did not want to do? Simply undo
your latest command!
Format: undo
- Undoes the last modifying command.
- Ignores modifying commands if they don’t modify the address book.
- Will cancel out when trying to undo an undo command. This means that you cannot undo the last two actions.
Examples:
-
After
delete 1
, a person (Alex Yeoh) was removed from the list. -
After
undo
, the first person is added back to the list. -
After another
undo
, the same person is removed from the list again.
d. Exiting the program : exit
Exits uNivUSal.
Format: exit
Saving the data
uNivUSal data are saved in the hard disk automatically after any command that changes the data. So, you do not need to save manually.
Editing the data file
uNivUSal data are saved as a JSON file [JAR file location]/data/univusal.json
. Advanced users are welcome to update data directly by editing that data file.
Archiving data files [coming in v2.0]
Details coming soon …
FAQ
General
Q: How do I transfer my data to another Computer?
A: You can install uNivUSal in the other computer and replace the empty data file it creates with the file that contains the data of your previous uNivUSal home folder.
Q: How do I make sure that my computer is running Java 11?
A: Open the Terminal app built inside your computer (For Windows user, you can also use Powershell) and run the following command: java –version. The version should then be displayed on the application. If your screen is displaying java 11.x.x where x can be any number, then your computer is running Java 11.
Q: I cannot see any data when I first open uNivUSal, what do I do?
A: Delete all the files under [JAR file location]/data
and restart the jar application. You should be able to see some sample data now.
If your computer is not running Java 11, you can install it here. Please install according to the operating system that you are using (any of the options are fine, as they are all Java 11).
Q: Do I need an internet connection to run the app?
A: No! uNivUSal stores your data offline so there is no need to worry about needing a connection to run.
Cosmetics
Q: Can I set my own images for certain contacts?
A: Unfortunately not in this version of uNivUSal, although this is a feature we are aiming to roll out in the near future!
Command summary
Action | Format, Examples | |
---|---|---|
Help | help |
|
History | history |
|
Add |
add o/OCCUPATION n/NAME [p/PHONE_NUMBER] [e/EMAIL] [tut/TUTORIAL] [t/TAG]… e.g., add o/STUDENT n/James Ho p/22224444 e/jamesho@example.com tut/T08 a/123, Clementi Rd, 1234665 t/friend t/colleague
|
|
List | list |
|
Edit |
edit INDEX [o/OCCUPATION] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [tut/TUTORIAL] [t/TAG]… e.g., edit 2 n/James Lee e/jameslee@example.com
|
|
Delete |
delete INDEX [OPTIONAL PREFIX/] e.g., delete 3 ,delete 3 p/
|
|
Clear | clear |
|
Undo | undo |
|
Sort |
sort FIELD_PREFIX/ e.g., sort n/
|
|
Find |
find KEYWORD e.g., find John / find J
|
|
Add To Group | addtogroup INDEX GROUP |
|
Ungroup | ungroup INDEX GROUP |
|
Open Group Window | group GROUPNAME |
|
Favorite | fav INDEX |
|
Include | include INDEX s/SOCIAL #/SOCIAL_INFO |
|
Exclude | exclude INDEX s/SOCIAL |
|
Prefer | prefer INDEX s/SOCIAL |
|
Open | open INDEX s/SOCIAL |
|
Social | social SOCIAL |
|
Email All | emailall GROUPNAME |
|
Exit | exit |
Glossary
Alphanumeric
- Words containing Alphabet letters and/or numbers only.
CLI
- Command Line Interface. Click here to learn more.
Command
- An instruction you input for the application to execute.
GUI
- Graphical User Interface. Click here to learn more about the difference between CLI and GUI.
Index
- The position of a contact in the list. See Layout.
JAR
- JAR stands for Java Archive and is used to store the files to run uNivUSal. You can double-click on JAR files to run it.
JSON File
- JSON stands for JavaScript Object Notation and is used for storing your data in uNivUSal. Click here to learn more.
OS
- OS stands for Operating System. uNivUSal can be run on OS such as Linux, macOS, and Windows.
NUS
- National University of Singapore.
Person Fields
- The fields of a person are their details, such as
NAME
,OCCUPATION
,PHONE
,EMAIL
etc.
Prefix
- Prefixes are used to differentiate the person fields of your input.
o/
,n/
,p/
,e/
,tut/
,a/
,t/
,s/
and#/
, are the different prefixes used in uNivUSal.
SoC
- School of Computing