User Guide
Hello there, fellow SociaLites! Welcome to the User Guide for SociaLite, a Command Line Interface (CLI) app that connects you with your contact’s social media pages!
You may be a first-time user trying to set up SociaLite or a returning user hoping to explore advanced features. Fret not, all you need to know about this app can be found in this User Guide! Simply follow the path that corresponds to your needs.
If you are a… | You should… |
---|---|
new user | View our Quick Start guide to set up SociaLite and try out the features. |
returning user | Jump straight to our Commands section to recall how our features work! |
Navigation Menu
This section teaches you how to install SociaLite and includes sample commands for you to try out.
This section teaches you how to interpret instructions in this User Guide.
This section gives you comprehensive details of all the commands on SociaLite.
This section answers frequently asked questions about SociaLite.
This section contains a glossary of all the commands and quick examples for reference.
Quick Start
- Ensure you have
Java 11
or above installed on your Computer. If you already haveJava
installed, you might want to type injava -version
in your command window to ensure you are running on the correct version ofJava
! If you don’t haveJava 11
, simply click here, and navigate to the “Java SE Development Kit 11.x.xx” section to download the latest Java Development Kit. - Download the latest
socialite.jar
from here. - Copy the file to the folder you want to use as the home folder for your SociaLite.
- Double-click the file to start the app. SociaLite should start in a few seconds! The app contains some sample data for you to experiment with to get familiar with the commands.
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Here are some sample commands to get you started with SociaLite:-
add
add n/Alex Yeoh p/87438807 t/friends fb/alex.yeoh ig/alex.yeoh tele/alyeoh tiktok/alex.yeoh
: Adds a contact namedAlex Yeoh
to SociaLite. -
find
find Alex
: Searches SociaLite for a contact namedAlex
and displays the contact’s information. -
list
: Displays all contacts stored on SociaLite. -
edit
edit 1 n/Alexis Yeoh
: Edits the name of the contact at the first position of the list toAlexis Yeoh
. -
delete
delete 3
: Deletes the 3rd contact shown in the current list. -
clear
: Deletes all contacts. You will find this handy when deleting the sample contacts stored on SociaLite. -
exit
: Exits the app.
-
- Refer to the Commands below for details of each command.
Standard Notations
Hold your horses SociaLites! Before you venture any further, here are some standard notations for you to take note of:
-
You provide words in
UPPER_CASE
as input.
e.g. inadd n/NAME
,NAME
is an input which can be used asadd n/John Doe
. -
Items in square brackets are optional.
e.g.n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used any number of times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
The
|
vertical bar indicates a choice that you have to make between the left and right options.
e.g. in[date/NAME:YYYY-MM-DD[:monthly|:yearly]]
, you can enterdate/Birthday:2021-01-01:yearly
to indicate an annual event calledBirthday
that repeats on 1 Jan yearly. -
You may type your inputs in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If an input for a particular field is expected only once in the command but you specified it multiple times, only the last occurrence of the input will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
If you type inputs for commands that do not require any additional information (such as
list
,exit
andclear
), they will be ignored.
e.g. if the command specifieslist 123
, it will be interpreted aslist
.
As you explore the features that SociaLite has to offer, look out for these boxes:
The blue boxes tell you the acceptable fields that you can provide for a particular command:
Format:
add n/NAME p/PHONE_NUMBER [t/TAG]… [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER]
- Detail 1
- Detail 2
If you still aren’t sure of how a particular command works, the green boxes provide you with examples that you can try out:
Example:
add n/Alex Yeoh p/87438807 t/friends fb/alex.yeoh ig/alex.yeoh tele/alyeoh tiktok/alex.yeoh date/birthday:2000-01-01:yearly
Adds a new contact called “Alex Yeoh” with phone number “87438807” to SociaLite.
Commands
This section provides you with comprehensive details of all the commands available on SociaLite. Simply click on any command below to learn more about it!
COMMAND |
Description |
---|---|
add n/NAME p/PHONE_NUMBER ... |
Add a contact |
list |
List all contacts |
CLICK |
Access a contact’s social media page |
↑ /↓ |
Track history of commands |
edit INDEX ... |
Edit a contact |
edit INDEX [t/TAG] |
Create / Edit tags for existing contacts |
edit INDEX t/ |
Delete all tags from a contact |
edit INDEX [p/PLATFORM] |
Modify social media handles for a contact |
edit INDEX [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… |
Modify dates for a contact |
delete INDEX |
Delete a contact |
clear |
Delete all contacts |
find NAME |
Find a contact by name |
find t/TAG |
Find a contact through associated tags |
find p/PLATFORM |
Find a contact through associated social media platforms |
picture INDEX |
Modify profile picture of a contact |
share INDEX |
Copy contact information to system clipboard |
pin INDEX |
Pin contact card on the top of the person list |
unpin INDEX |
Unpin contact card from the top of the person list |
remark INDEX r/[TEXT] |
Add special notes about a contact |
help |
Access User Guide |
help COMMAND |
Access in-app guidance for selected commands |
exit |
Exit the program |
Add a person: add n/NAME p/PHONE_NUMBER ...
Adds a person to SociaLite.
Format:
add n/NAME p/PHONE_NUMBER [t/TAG]… [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER]
- A person can have any number of tags and dates (including 0).
- To add a contact to SociaLite, you need to provide the name and a unique phone number for the person!
Example:
add n/Annie Wan p/98571082 t/Friend fb/annie.wan ig/ann.wan tele/annie tiktok/annie.wan2 date/birthday:1999-02-12:yearly
Adds a new contact called “Annie Wan” with phone number “98571082” to SociaLite.
Example:
add n/David Tan p/91082942 t/neighbour fb/tan.david tele/d_av_id
Adds a new contact called “David Tan” with phone number “91082942” to SociaLite.
List all persons : list
Shows a list of all persons stored on SociaLite.
Format:
list
Access a contact’s social media page
Clicking on a contact’s social media handle will immediately launch the user’s default browser and open the contact’s social media profile.
Example:
Clicking on the Facebook handle
@alex.yeoh
launches the user’s default browser and brings the user to Alex Yeoh’s Facebook page.
Track history of commands: ↑
or ↓
arrow keys
Scroll through your history of commands using the ↑
or ↓
arrow keys.
Format:
↑
or ↓
Example:
↑
backtracks to the previous command provided as input.
Example:
↓
advances to subsequent commands stored in history.
Edit a person : edit INDEX ...
Edits an existing contact on SociaLite.
Format:
edit INDEX [n/NAME] [p/PHONE] [r/REMARK] [t/TAG]… [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER]
- Edits the person at the specified
INDEX
. The index refers to the index number shown on the displayed person list. - The index must be a positive integer 1, 2, 3, …
- At least one of the optional fields must be provided.
- Users can opt to change any fields associated with a contact as long as they prepend the argument with the corresponding flags according to the format above.
- 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 tag after it. - When editing dates, all existing dates of the person will be removed i.e adding of dates is not cumulative.
- You can remove all the person’s dates by typing
date/
without specifying any date after it.
Example:
edit 1 p/91234567 fb/Yalex19
Edits the phone number and Facebook handle of the 1st person to be 91234567
and Yalex19
respectively.
Example:
edit 4 n/Betsy Crower t/
Edits the name of the 4th person to be Betsy Crower
and clears all existing tags.
Create / Edit tags for existing contacts: edit INDEX [t/TAG]...
Modifies tags that are associated with existing contacts stored on SociaLite.
Format:
edit INDEX [t/TAG]...
- Adds new tags to persons who did not have tags associated with them when they were first added to SociaLite.
- Deletes all existing tags for the person at the specified
INDEX
and replaces them with tags specified in[t/TAG]...
- Each tag can only be up to 50 characters long.
- The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Example:
edit 1 t/buddy
Creates a tag called buddy
for the first person on the displayed person list.
Example:
edit 2 t/friend t/neighbour
Creates tags called friend
and neighbour
for the second person on the displayed person list.
Delete tags associated with contacts: edit INDEX t/
Deletes all tags that are associated with a specified contact on SociaLite.
Format:
edit INDEX t/
- Deletes all categories tagged to the person at the specified
INDEX
. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Example:
edit 2 t/
Deletes all tags associated with the 2nd person on the displayed person list.
Add / Edit social media handles for existing contacts: edit INDEX [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER]
Modifies social media handles that are associated with existing contacts on SociaLite.
Format:
edit INDEX [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER]
- Adds a new handle for contacts who did not have that specific handle pegged with them when they were first added to SociaLite.
- Replaces the handle for the person at the specified
INDEX
according to the flag and input provided. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- The flag refers to any of the following:
fb/
ig/
tele/
tiktok/
twitter/
- User input after the given flag represents the new social media handle associated with the contact.
- Only social media handles specified as input will be altered. Other social media handles remain unchanged.
Example:
edit 1 fb/al3x.ye0h
Changes the Facebook handle of the first person on the displayed person list to al3x.ye0h
.
Example:
edit 1 twitter/xelayeoh
Adds the Twitter handle called xelayeoh
to the first person on the displayed person list. The Facebook handle that was previously modified is unaffected.
Add / Edit dates of occasions associated with contacts: edit INDEX [date/NAME:YYYY-MM-DD[:monthly|:yearly]]…
Adds / Edits dates of occasions (birthdays, appointments) associated with a contact.
Format:
edit INDEX [date/NAME:YYYY-MM-DD[:monthly|:yearly]]…
- Adds a date for the contact at the specified
INDEX
. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- Dates can have a name to associate them with a specific event (eg. Birthday, Meetup, Anniversary).
- The name associated with the event can only be up to 50 characters long.
- Date must be presented in
YYYY-MM-DD
format. - Dates can be recurring, either monthly or yearly, by adding
:monthly
or:yearly
behind the date. - Each call of
edit INDEX [date/NAME:YYYY-MM-DD[:monthly|:yearly]]…
will replace all previous dates. - Using the command
edit INDEX date/
will remove all dates from the user. - Upcoming dates (within 7 days) will be highlighted in the user interface.
Example:
list
followed by edit 1 date/Meeting:2021-09-14
Adds the event “Meeting” which falls on 14 Sep 2021, to Alex Yeoh’s listing.
Example:
find Bernice
followed by edit 1 date/Birthday:1999-09-09:yearly
Adds the event “Birthday” which falls on 9 Sep every year to Bernice Yu’s listing.
Delete a person : delete INDEX
Deletes the specified person from SociaLite.
Format:
delete INDEX
- Deletes the person at the specified
INDEX
. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Example:
list
followed by delete 7
Deletes the 7th person on the displayed person list.
Example:
find Roy
followed by delete 1
Deletes the 1st person on the displayed person list of the find
command.
Remove all data: clear
Removes all contacts in the app.
Format:
clear

Locate contacts by name: find NAME
Finds persons whose names contain any of the given keywords.
Format:
find NAME [MORE_KEYWORDS]
- The search is case-insensitive.
- The order of the keywords does not matter.
- Supports partial matching from the start of each word in a contact’s name.
- Name is searched by default when no flags (or invalid flags) are given as input.
Example:
find david
Returns David Li
and David Tan
Example:
find Hans Bo
will match Bo Hans
Example:
find han
will match Hans
but not Khan
Example:
find Al Y
will match Alex Yeoh
Query contacts based on tags: find t/TAG
Displays the contacts that are associated with a particular tag.
Format:
find t/TAG
- Queries all contacts that are tied to
TAG
. - The tag must be existent and associated with certain contacts stored on SociaLite.
- Tags are matched from the start of their names.
- If multiple tags are queried, only contacts possessing all given tags are returned.
Example:
find t/family
Checks for contacts which the user categorized as “family”.
Example:
find t/classmate
Checks for contacts which the user categorized as “classmate” OR “classmates” etc.
Example:
find t/mates
Checks for contacts which the user categorized as “mates” BUT NOT “classmates”.
Example:
find t/colleagues t/friends
Checks for contacts which are categorized as BOTH “colleagues” AND “friends”.
Query contacts based on social media platform: find p/PLATFORM
Shows all contacts with their handles on the specified social media platform.
Format:
find p/PLATFORM
- The social media platform entered must be supported by SociaLite,
(i.e.: Only
facebook
,instagram
,telegram
,tiktok
,twitter
are accepted, case insensitive). - If multiple platforms are queried, only contacts with handles for ALL specified platforms are returned.
Example:
find p/facebook p/instagram
Returns all contacts who have BOTH a Facebook and Instagram handle pegged with them.
Example:
find p/telegram
Returns all contacts who have a Telegram handle pegged with them.
Add / Change a profile picture: picture INDEX
Adds a profile picture to an existing contact or changes the existing profile picture if available.
Format:
picture INDEX
- Opens file browser allowing you to choose any .jpg or .png file as the profile picture.
- Adds the selected picture to the contact at the specified
INDEX
. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Example:
list
followed by picture 2
Opens the file browser to let you choose a picture to add to Annie Wan’s listing in the app.
Updates Annie Wan’s profile picture in SociaLite.
Example:
find Alex
followed by picture 1
Opens the file browser to let you change the profile picture for Alex Yeoh’s listing in the app.
Share a contact card: share INDEX
Copies the contact card of the specified person to the system clipboard. The user can paste the plain text in an email or text message and forward the contact card to others thereafter.
Alternatively, the user can click on the “Share” button at the top-right hand corner of the contact card that he/she would like to share instead of entering the command.
Format:
share INDEX
- Copies the contact card of the person at the specified
INDEX
to the system clipboard. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
Example:
list
followed by share 2
Copies the information of the second contact in the list displayed by SociaLite.
Example: Clicking on the “Share” button of Annie Wan’s name card copies her contact information.
Pin a contact card: pin INDEX
Affixes the contact card of the specified person onto the top of the person list. Pinned contact cards will be alphabetically ordered.
Alternatively, the user can click on the “Pin” button at the top-right hand corner of the contact card that he/she would like to pin instead of entering the command.
Format:
pin INDEX
- Pins the contact card of the person at the specified
INDEX
at the top of the person list. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- The contact card must not be previously pinned.
Example:
list
followed by pin 3
Provided no contact card has been pinned yet, the above command places the third contact in the list displayed by
SociaLite, at the top of the person list along with other pinned contacts.
Example: Clicking on the “Pin” button of Annie Wan’s name card affixes her contact card onto the top of the person list.
Unpin a contact card: unpin INDEX
Removes the contact card of the specified person from the top of the person list.
Alternatively, the user can click on the “Unpin” button at the top-right hand corner of the contact card that he/she would like to unpin instead of entering the command.
Format:
unpin INDEX
- Unpins the contact card of the person at the specified
INDEX
at the top of the person list. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- The contact card must be previously pinned.
Example:
list
followed by unpin 1
Provided the first 2 contact cards are the pinned contact cards, the above command unpins the first contact in the list displayed by SociaLite.
Example: Clicking on the “Unpin” button of Bernice Yu’s name unpins her contact card if it was previously pinned.
Add remarks about a specific contact: remark INDEX r/[TEXT]
Adds special notes about a contact.
Format:
remark INDEX r/[TEXT]
- Adds a short note about the contact 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, …
- Remarks must be 150 characters in length or less (inclusive of spaces).
Example:
list
followed by remark 1 r/Doesn’t like vegetables
Adds the remark “Doesn’t like vegetables” to Alex Yeoh’s listing in the app.
Example:
find Annie
followed by remark 1 r/Loves peas r/Allergic to prawns r/Hates carrots
Only the remark “Hates carrots” is added to Annie Wan’s listing in the app.
View help: help
Shows a message explaining how to access the User Guide or obtain in-app guidance for selected commands.
Format:
help
View in-app guidance: help COMMAND
Displays concise instructions for users to learn the given COMMAND
’s function.
Format:
help COMMAND
- Acceptable keywords to use in
COMMAND
:add
delete
edit
find
remark
share
picture
pin
unpin
Example:
help add
Displays a concise guide on how to use the add
command.
Example:
help edit
Displays a concise guide on how to use the edit
command.
Exit the program : exit
Exits the program.
Format:
exit
FAQ
Q: How is my data saved?
A: SociaLite data are saved in the hard disk automatically after any command that alters the data. There is no need to save manually.
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 SociaLite home folder.
Q: Can I edit my data?
A: SociaLite data are saved as a JSON file <JAR file location>/data/contactlist.json
. Advanced users are welcome to update data directly by editing that data file.

Command Index
Action | Format | Example (if any) |
---|---|---|
Access Social Media Page | Click on social media handle | |
Add | add n/NAME p/PHONE_NUMBER [t/TAG]… [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER] |
add n/Alex Yeoh p/87438807 t/friends fb/alex.yeoh ig/alex.yeoh tele/alyeoh tiktok/alex.yeoh |
Add / Edit Categories | edit INDEX [t/TAG]... |
edit 1 t/Friends |
Add / Edit Dates | edit INDEX [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… |
edit 1 date/Meeting:2021-09-14 |
Add / Edit Profile Picture | picture INDEX |
picture 1 |
Add / Edit Social Media Handles | edit INDEX [p/PLATFORM] |
edit 1 fb/Alv1n.y |
Add Remark | remark INDEX r/[TEXT] |
remark 1 r/Likes to swim |
Delete | delete INDEX |
delete 3 |
Delete All Categories | edit INDEX t/ |
edit 1 t/ |
Delete All Data | clear |
|
Edit | edit INDEX [n/NAME] [p/PHONE] [r/REMARK] [t/TAG]… [date/NAME:YYYY-MM-DD[:monthly|:yearly]]… [fb/FACEBOOK] [ig/INSTAGRAM] [tele/TELEGRAM] [tiktok/TIKTOK] [twitter/TWITTER] |
edit 1 p/91234567 fb/Yalex19 |
Exit | exit |
|
Find Contacts by Category | find t/TAG |
find t/Friends |
Find Contacts by Name | find NAME [MORE_KEYWORDS] |
find James Jake |
Find Contacts by Platform | find p/PLATFORM |
find p/facebook |
List | list |
|
Pin Contact | pin INDEX |
pin 4 |
Share Contact | share INDEX |
share 2 |
Track History |
↑ or ↓ arrow keys |
|
Unpin Contact | unpin INDEX |
unpin 1 |
View Help | help |
|
View In-App Guidance | help COMMAND |
help add |