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 have
Java
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 have
Java 11
, simply click here, and navigate to the “Java SE Development Kit 11.x.xx” section to download the latest Java Development Kit.
- If you already have
- Download the latest
socialite.jar
from our GitHub release page. - 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 be launched in a few seconds! If you are opening the app for the first time, you will see some sample data for you to experiment with.
-
Type the command in the command box and press
Enter
to execute it. E.g. typinghelp
and pressingEnter
will open the help window. Here are some sample commands you can try out to get started with SociaLite:-
add
add n/Alex Yeoh p/87438807 ig/alex.yeoh
: A contact namedAlex Yeoh
with Instagram handlealex.yeoh
will be added to SociaLite. -
find
find Alex
: This command searches SociaLite for a contact namedAlex
and displays the contact’s information. -
list
: All contacts stored on SociaLite will be displayed. -
edit
edit 1 n/Alexis Yeoh
: The name of the first contact in the list will be changed toAlexis Yeoh
. -
delete
delete 3
: The third contact shown in the current list will be deleted. -
clear
: The SociaLite database will be purged and all contacts will be deleted. You will find this handy when deleting the sample contacts stored on SociaLite. -
exit
: Type in this command to quit SociaLite.
-
-
Refer to the Commands section below for details of each command.
Standard Notations
Hold your horses SociaLites! Before you venture any further, here are some standard notations used throughout this user guide 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 enter eitherdate/Event:2021-01-01:yearly
ordate/Event:2021-01-01:monthly
. -
You may enter 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 specify 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 describe 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 about the acceptable fields
- Detail 2 about the acceptable fields
If you still aren’t sure of how a particular command works, the green boxes list some 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
This command 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 [k/KEYWORDS]... |
Edit a contact |
edit INDEX [k/]... |
Delete optional fields from 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 contact list |
unpin INDEX |
Unpin contact card from the top of the contact 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 contact: add n/NAME p/PHONE_NUMBER ...
This command adds a contact 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]
- To add a contact to SociaLite, you must provide the name of the person and a unique phone number!
- You can add any number of tags or dates (including 0) for a contact.
- You can add handles from any of these five social media platforms: Facebook, Instagram, Telegram, TikTok and Twitter.
Example: add n/David Tan p/91082942 t/neighbour fb/tan.david tele/d_av_id
This will add a new contact named “David Tan” with phone number “91082942” to SociaLite. The contact is tagged as ‘neighbour’ and has a Facebook handle and Telegram handle.
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
This will add a new contact named “Annie Wan” with phone number “98571082” to SociaLite. The contact has a tag, a date, and 4 social media handles as shown below.
List all persons : list
This command shows the list of all contacts currently stored on SociaLite.
Format:
list
Access a contact’s social media page
You can click on a contact’s social media handle to launch your default browser and open the contact’s social media profile.
Example:
Clicking on the Facebook handle @alex.yeoh
launches your default browser and brings you to Alex Yeoh’s Facebook page.
Track history of commands: ↑
or ↓
arrow keys
You can 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 [k/KEYWORDS]...
This command allows you to edit the information stored with a contact using your specified input.
Format:
edit INDEX [k/KEYWORDS]...
- Information of the contact at your specified
INDEX
will be modified. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- You can provide the following fields (i.e.
[k/KEYWORDS]
) in any order when editing a contact’s information:[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]
. - You should provide at least one field from the above list for this command to run successfully.
- In addition, you can add a name for each
DATE
(e.g. Birthday, Meet-Up, Anniversary). - If your dates represent events that recur monthly or yearly, you can add the keyword
:monthly
or:yearly
behind the date which has to be specified inYYYY-MM-DD
format. - Furthermore, upcoming dates (within 7 days) will be highlighted in the user interface.
Caution:
- Before you specify information for any field that you wish to modify, you should prepend your input with its corresponding flag (e.g.
n/
p/
etc.) according to the format above. - You should check your input before you hit ENTER as SociaLite will overwrite the contact’s existing information for any valid field that you furnish.
- When you modify
TAG
s orDATE
s, the existingTAG
s orDATE
s of the person will be removed i.e. adding ofTAG
s orDATE
s is not cumulative. -
Your input should conform with the character limit for the following fields:
Field Character Limit TAG
50 DATE
50 REMARK
150
Example: Edit contact’s name
edit 5 n/Eric Wong
When you enter the above command, the name of the 5th person is changed to Eric Wong
.
Example: Edit phone number
edit 6 p/91082857
When you enter the above command, the phone number of the 6th person is changed to 91082857
.
Example: Edit one tag
edit 1 t/buddy
When you enter the above command, a tag called buddy
is created for the first person on the displayed person list.
Example: Edit two tags
edit 2 t/friend t/neighbour
When you enter the above command, the tags called friend
and neighbour
are added for the second person on the displayed person list.
Example: Edit Facebook handle
edit 1 fb/al3x.ye0h
When you enter the above command, you change the Facebook handle of the first person on the displayed person list to al3x.ye0h
. Other handles will not be affected by this change.
Example: Add Twitter handle
edit 1 twitter/xelayeoh
When you enter the above command, you add the Twitter handle called xelayeoh
to the first person on the displayed person list. Other handles will not be affected by this addition.
Example: Add a non-recurring DATE
list
followed by edit 1 date/Meeting:2021-09-14
This allows you to add the one-off event, “Meeting”, which falls on 14 Sep 2021, to Alex Yeoh’s listing.
Example: Add a DATE
that recurs yearly
find Bernice
followed by edit 1 date/Birthday:1999-09-09:yearly
This allows you to add the event “Birthday” which falls on 9 Sep every year to Bernice Yu’s listing.
Example: Edit multiple fields: n/NAME
and fb/FACEBOOK
edit 1 p/91234567 fb/Yalex19
This command allows you to change the phone number and Facebook handle of the 1st person to 91234567
and Yalex19
respectively.
Example: Edit multiple fields: p/PHONE
and t/TAG
edit 4 p/94850285 t/Boss
This command allows you to change the phone number of the 4th person to 94850285
and adds the tag Boss
.
Delete optional fields associated with contacts: edit INDEX [k/]...
This command allows you to delete selected fields that are associated with a specified contact on SociaLite.
Format:
edit INDEX [k/]...
- Information of the contact at your specified
INDEX
will be deleted. - The index refers to the index number shown on the displayed person list.
- The index must be a positive integer 1, 2, 3, …
- You can provide the following flags (i.e.
[k/]...
) in any order when deleting a contact’s information:[t/] [date/] [fb/] [ig/] [tele/] [tiktok/] [twitter/]
- You should provide at least one field from the above list for this command to run successfully.
Example: edit 2 t/
When you enter the above command, all tags associated with the 2nd person on the displayed person list are deleted.
Example: edit 4 date/ fb/
When you enter the above command, all dates and the Facebook handle associated with the 4th person on the displayed person list are deleted.
Delete a contact : delete INDEX
This command deletes the specified contact from SociaLite.
Format:
delete INDEX
- This command deletes the contact at the specified
INDEX
. - The index must be a positive integer 1, 2, 3, …
Example: list
followed by delete 7
This will delete the 7th contact on the displayed contact list.
Example: find Roy
followed by delete 1
This deletes the 1st contact on the displayed contact list of the find
command.
Remove all data: clear
This command removes all contacts in the app.
Format:
clear
Locate contacts by name: find NAME
This command finds contacts who have names that 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
This command 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
This checks for contacts which the user categorized as “family”.
Example: find t/classmate
This checks for contacts which the user categorized as “classmate” OR “classmates” etc.
Example: find t/mates
This checks for contacts which the user categorized as “mates” BUT NOT “classmates”.
Example: find t/colleagues t/friends
This checks for contacts which are categorized as BOTH “colleagues” AND “friends”.
Query contacts based on social media platform: find p/PLATFORM
This command 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.:
PLATFORM
must be one offacebook
,instagram
,telegram
,tiktok
,twitter
, case insensitive). - If multiple platforms are queried, only contacts with handles for ALL specified platforms are returned.
Example: find p/telegram
This returns all contacts who have a Telegram handle pegged with them.
Example: find p/facebook p/instagram
This returns all contacts who have BOTH a Facebook and Instagram handle pegged with them.
Add / Change a profile picture: picture INDEX
This command adds a profile picture to an existing contact or changes the existing profile picture if available.
Format:
picture INDEX
- A file browser will be opened, allowing you to choose any .jpg or .png file as the profile picture.
- Your selected picture will be added 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
A file browser will be opened to let you choose a picture to add to Annie Wan’s listing in the app.
Annie Wan’s profile picture will be updated in SociaLite.
Example: find Alex
followed by picture 1
The file browser will be opened to let you change the profile picture for Alex Yeoh’s listing in the app.
Share a contact card: share INDEX
This command copies the contact card of the specified person to the system clipboard. You can paste the plain text in an email or text message and forward the contact card to others thereafter.
Alternatively, you can click on the “Share” button at the top-right hand corner of the contact card that you would like to share instead of entering the command.
Format:
share INDEX
- The contact card of the person at the specified
INDEX
will be copied 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
The information of the second contact in the list displayed by SociaLite will be copied.
Example: Click on the “Share” button of Annie Wan’s name card to copy her contact information.
Pin a contact card: pin INDEX
This command affixes the contact card of the specified person onto the top of the person list. Pinned contact cards will be alphabetically ordered.
Alternatively, you can click on the “Pin” button at the top-right hand corner of the contact card that you would like to pin instead of entering the command.
Format:
pin INDEX
- The contact card of the person at the specified
INDEX
will be pinned 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: Click on the “Pin” button of Annie Wan’s name card to affix her contact card onto the top of the person list.
Unpin a contact card: unpin INDEX
This command removes the contact card of the specified person from the top of the person list.
Alternatively, you can click on the “Unpin” button at the top-right hand corner of the contact card that you would like to unpin instead of entering the command.
Format:
unpin INDEX
- The contact card of the person at the specified
INDEX
at the top of the person list will be unpinned. - 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: Click on the “Unpin” button of Bernice Yu’s name to unpin her contact card if it was previously pinned.
Add remarks about a specific contact: remark INDEX r/[TEXT]
This command adds special notes about a contact.
Format:
remark INDEX r/[TEXT]
- A short note about the contact at the specified
INDEX
will be added. - 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
The remark “Doesn’t like vegetables” will be added 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
This command displays a message that shows you how you can access our User Guide or obtain in-app guidance for selected commands.
Format:
help
View in-app guidance: help COMMAND
This command displays concise instructions within the app for you 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
A concise guide on how to use the add
command is displayed.
Example: help edit
A concise guide on how to use the edit
command is displayed.
Exit the program : exit
This command exits the program.
Format:
exit
FAQ
Q: Do I need to save my data like a Word document while using SociaLite?
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: Upon installing the app in the other computer, simply overwrite the contactlist.json
file under the data/
folder with the same file from your previous SociaLite home folder.
Q: Can I edit my data file directly?
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
Command | Action | Example (if any) |
---|---|---|
add n/NAME p/PHONE_NUMBER ... |
Add a contact | add n/Alex Yeoh p/87438807 fb/alex.yeoh ig/alex.yeoh |
clear |
Delete all contacts | |
delete INDEX |
Delete a contact | delete 3 |
edit INDEX [k/]... |
Delete optional fields | edit 1 t/ |
edit INDEX [k/KEYWORDS]... |
Edit a contact | edit 1 tiktok/berniceyu |
exit |
Exit the program | |
find NAME |
Find by name | find James Jake |
find t/TAG |
Find by tags | find t/Friends |
find p/PLATFORM |
Find by platforms | find p/facebook |
help |
Access user guide | |
help COMMAND |
Access in-app guidance | help add |
list |
List all contacts | |
picture INDEX |
Modify profile picture | picture 1 |
pin INDEX |
Pin a contact | pin 4 |
remark INDEX r/[TEXT] |
Add remarks | remark 1 r/Arrange outing soon |
share INDEX |
Share a contact | share 2 |
unpin INDEX |
Unpin a contact | unpin 1 |
↑ /↓
|
Track history | |
CLICK |
Access social media page |