By: AY1920S2-CS2103T-W12-3
Since: Feb 2020
Licence: MIT
- 1. Introduction
- 2. About
- 3. Quick Start
- 4. Features
- 5. Commands
- 5.1. General Commands
- 5.2. Wallet Commands
- 5.3. People Commands
- 5.3.1. Adding a person:
add
- 5.3.2. Editing a person :
edit
- 5.3.3. Deleting a person :
delete
- 5.3.4. Recording the money you owe:
owe
- 5.3.5. Recording the money you return:
returned
- 5.3.6. Recording the money you lend:
lend
- 5.3.7. Recording the money you received:
received
- 5.3.8. Sending reminder to a friend:
remind
- 5.3.9. Sending reminder to all friends:
remindall
- 5.3.10. Finding a person:
find
- 5.3.11. Listing all contacts:
list
- 5.3.12. Clearing all contacts :
clear
- 5.3.1. Adding a person:
- 6. FAQ
- 6.1. How do I save my data in Sharkie?
- 6.2. How do I transfer my data to another computer?
- 6.3. How do I edit my user data?
- 6.4. Why did I not receive a confirmation e-mail from Sharkie?
- 6.5. What is a transaction?
- 6.6. What is a valid amount of money?
- 6.7. What is a transaction’s index?
- 6.8. What is a person’s index?
- 6.9. What is a debt’s index or a loan’s index?
- 6.10. What are the differences between debts and loans?
- 6.11. Why do my
people remind
andpeople remindall
commands take time to run? - 6.12. How can I resolve the connection issues during the execution of
people remind
orpeople remindall
?
- 6.1. How do I save my data in Sharkie?
- 7. Command Summary
1. Introduction
Welcome to Sharkie!
Sharkie is an all-in-one personal finance tracking desktop application designed for university students, who would like to monitor their spending. It manages your incomes and expenses, organises your contacts and keeps track of debts your friends owe you, so that your loans always come with a money-back guarantee!
Sharkie boasts a sleek, trendy Graphical User Interface (GUI) while being at its core, a Command Line Application - this means that the faster you type, the faster you can get those pesky finances out of your head and into Sharkie's management system.
Have we reeled you in? Dive into Section 3, “Quick Start” to get on board with Sharkie. Enjoy!
2. About
This user guide will help to ensure that you have all the information you need to utilise Sharkie to its fullest extent. Sharkie is a feature-filled expense tracker and all the information you need regarding its usage is available below.
If you need help starting up Sharkie, you can head on to Section 3, “Quick Start” below to set it up.
If you want to find out more about the features provided by Sharkie, you can visit Section 4, “Features” below.
If you need help regarding what commands Sharkie has, Section 5, “Commands” below will guide you through Sharkie’s commands.
Note the following symbols and formatting used in this document:
Symbol/ |
Meaning |
|
A grey highlight (called a mark-up) indicates that this is a command that can be typed into the command line and executed by the application. |
Enter |
This symbol indicates the enter button on the keyboard. |
This yellow box indicates the restrictions of each command. |
|
|
This symbol indicates warnings to take note of. |
|
This symbol indicates information that you need to know. |
|
This symbol indicates tips that can help you in your use of Sharkie. |
3. Quick Start
The following steps will help you get Sharkie up and running in no time on your desktop.
-
Ensure you have Java 11 or above installed in your computer.
-
Download the latest Sharkie.jar.
-
Copy the file to the folder you want to use as the home folder for Sharkie.
Make sure that your Sharkie.jar is in a folder that does not require administrator access. If not, it might not be able to function properly. -
Double-click the file to start the app. The GUI should appear in a few seconds.
Figure 2. Opening Sharkie for the first time -
If you are logging in for the first time, key in your name, phone and your email, and press Enter or click on the "Submit" button.
Figure 3. After inputting user information -
A confirmation PIN will be sent to your email. Please key in the confirmation PIN and click on the "Confirm" button. If you did not receive a confirmation PIN after 1 minute, please click on the "Resend PIN" button to get a new PIN.
-
If you are logging in for the first time, Sharkie is already pre-loaded with sample data.
You can use the people clear
command andwallet clear
command to remove the data in the wallet and people tabs respectively. -
You can type a command in the command box and press Enter to execute it.
e.g. Typinghelp
and pressing Enter will open the help window.You can check out Section 5, “Commands” for detailed descriptions and usages of each command.
For a more succinct summary of the commands you can use in Sharkie, you can check out Section 7, “Command Summary”. -
Some example commands you can try to get you started:
-
people add
n/John Doe p/98765432 e/johnd@example.com
: Adds a contact named "John Doe" to the contact list. -
people delete
3
: Deletes the 3rd contact shown in the current list. -
wallet expense
n/Gift for friend $/88 d/12/12/2020 t/Shopping
: Adds an expense with name "Gift for friend", with an amount "$88", with date "12/12/2020" and tag "Shopping" into the wallet. -
wallet find
n/rice
: Returns a list of expenses or incomes with keyword "rice". -
exit
: Exits the app.
-
4. Features
Sharkie contains many helpful features that you can use to enhance your financial tracking habits. This section introduces the four main features of Sharkie.
4.1. Expenditure and Income
If you are a university student who has started to manage your own money, but struggles to track your expenses or meet your saving goals, Sharkie would be a good application for you to start with.
Sharkie allows you to record what you have spent on for the month, and also notes down your income for the month to help you properly track your money flow!
You may visit Section 5.2, “Wallet Commands” to find out more on how to record expenses or incomes in Sharkie. |
4.2. Contact Management
If you would like to keep the contact details of a person so that you can use the debts and loans features, Sharkie can help you do so!
Sharkie notes down and remembers contacts that you have entered in a contact list, for easy reference later on! Should their contact details change, you can also edit them or delete them. If you need to find a particular person’s contact details, Sharkie will look through all your contacts and quickly help you find the contact that you are looking for!
You may visit Section 5.3, “People Commands” for more details on how you can manage your contacts with Sharkie. |
4.3. Debts and Loans
If you are forgetful and need to keep track of money owed and money lent, fret not!
Sharkie allows you to take note of the debts you owe your friends and the loans you lend your friends.
Sharkie also allows you to remind your friends through email to return you the money they owe you!
Are you confused about debts and loans? Find out more about the differences between debts and loans. |
4.4. Expenditure Summary
Sharkie displays an overview of your monthly spending and income so that you know where all your money has gone to!
If you are more visually inclined, you can view statistics such as the different proportions of your spending on different items and how close you are to reaching your self-imposed budget.
All statistics are automatically updated and located in the wallet tab.
Check out Section 5.2.1, “Setting a budget” to learn how to budget your monthly spending with Sharkie. |
5. Commands
Sharkie is filled with a variety of commands that can aid in your financial tracking journey.
For ease of reference, we have segregated them into three parts: general commands, people commands and wallet commands.
Command Format
-
Words in angle brackets are the parameters to be supplied by the user e.g. in
add n/<name>
,<name>
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g.
$/<amount> [d/<date:dd/mm/yyyy>]
can be used as$/5 d/21/02/2020
or as$/5
. -
People commands are used when you want to do things related to the people tab, e.g.
people add n/<name> p/<phone number> e/<email address>
-
Wallet commands are used when you want to do things related to the wallet tab, e.g.
wallet expense n/<item> $/<price> [d/<date:dd/mm/yyyy>] [t/<tag>]
-
Parameters can be in any order e.g. if the command specifies
n/<name> p/<phone number>
,p/<phone number> n/<name>
is also acceptable.
5.1. General Commands
This section introduces the two general commands, help
and exit
. These commands are not specific to the people or wallet tabs of Sharkie.
5.1.1. Viewing help : help
Suppose you need help regarding the many features of Sharkie and how to operate it, you can use the general help
command to get a link to this user guide.
Format: help
Example:
-
Suppose that you’ve started Sharkie and are unsure of what commands are available or how to use it.
-
Typing
help
will open our user guide.
-
Expected Outcome:
-
A window will pop up, providing you with a reference to our user guide.
Opened help window.
5.1.2. Exiting the program : exit
Suppose you’re done with using Sharkie and wish to exit the application safely, you can use the general exit
command to save your data and exit the program.
Format: exit
Example:
-
Suppose that you’ve just finished using Sharkie, and wish to close the program and save your data.
-
Typing
exit
will save your data and quit Sharkie.
-
Expected Outcome:
-
Sharkie will save your data and quit the application safely.
5.2. Wallet Commands
This section introduces the eight commands that you can use to have an effect on the wallet tab.
5.2.1. Setting a budget: budget
Suppose you want to set a budget for a certain month, or a budget in general for all months. The command that you would enter in this case is our wallet budget
command.
Format: wallet budget $/<amount> [m/<month: mm>] [y/<year: yyyy>]
Command Format
The following are restrictions of wallet budget
command, which you will need to take note of:
-
The
<amount>
you have set must be a valid amount. -
The value of the
<month: mm>
you have set must be a positive integer between 1 - 12. -
The value of the
<year: yyyy>
you have set must be a non-negative integer.
Your budget entry will overwrite any pre-existing budgets. This means that if you have previously set a budget for a specific month and year, and if you have indicated that month and year again, it will overwrite the budget that has been set. |
If no month or year is specified, the default budget is set as the amount provided. If the budget value is set to 0, Sharkie will consider it as if you have not set a budget for that month. |
Example #1:
-
Suppose you want to add a default budget of "$1000" for all months.
-
The command you would enter is
wallet budget $/1000
. -
This tells Sharkie that you want to set a default budget of "$1000.00".
-
Expected Outcome #1:
-
Sharkie sets the default budget as "$1000.00".
Default budget has been set at $1000.00.
Example #2:
-
Suppose you want to add a budget of "$999" for March 2020.
-
The command you would enter is
wallet budget $/999 m/03 y/2020
. -
This tells Sharkie that you want to set a budget of "$999.00" for March 2020.
-
Expected Outcome #2:
-
Sharkie sets a budget of "$999.00" for March 2020.
Budget has been set at $999.00 for MARCH 2020.
5.2.2. Adding an expense: expense
Suppose you have paid for an expense and wish to record it down in Sharkie, you may enter the wallet expense
command to do so.
Format: wallet expense n/<description> $/<amount> [d/<date: dd/mm/yyyy>] [t/<tag>]
Command Format
The following are the restrictions of the wallet expense
command, which you would need to take note of:
-
The
<description>
should not be blank. -
The
<amount>
should be non-negative and have only up to two decimal places. -
If no
<date: dd/mm/yyyy>
is specified, your expense will default to today’s date. -
If no
<tag>
is specified, your expense will be given a default tag "Misc".
The first letter of the <tag> will be converted to uppercase.
|
Example:
-
Suppose you purchased "Chicken Rice" for "$3.50" on "10th October 2010". You wish to record it as a food item.
-
The command you would enter is
wallet expense n/Chicken Rice $/3.50 d/10/10/2010 t/food
. -
This records down an expense with the specified details.
-
Expected Outcome:
-
A new expense will be added into your wallet, automatically updating your wallet’s statistics.
New expense added: Chicken Rice Description: Chicken Rice Amount: $3.50 Date: 2010-10-10 Tag: [Food] Your expenditure for OCTOBER 2010 is: $3.50/$0.00
5.2.3. Adding an income: income
Suppose you have earned an income and wish to record it down in Sharkie, you may enter the wallet income
command to do so.
Format: wallet income n/<description> $/<amount> [d/<date: dd/mm/yyyy>] [t/<tag>]
Command Format
The following are the restrictions of the wallet income
command, which you would need to take note of:
-
The
<description>
should not be blank. -
The
<amount>
should be non-negative and have only up to two decimal places. -
If no
<date: dd/mm/yyyy>
is specified, your expense will default to today’s date. -
If no
<tag>
is specified, your expense will be given a default tag "Misc".
The first letter of the <tag> will be converted to uppercase.
|
Example:
-
Suppose you teach "P6 Tuition" and have just received your paycheck for "$3000" on "10th October 2010". You wish to record it as a job item.
-
The command you would enter is
wallet income n/P6 Tuition $/3000 d/10/10/2010 t/job
. -
This records down an income with the specified details.
-
Expected Outcome:
-
A new income will be added into your wallet, automatically updating your wallet’s statistics.
New income added: P6 Tuition Description: P6 Tuition Amount: $3000.00 Date: 2010-10-10 Tag: [Job]
5.2.4. Editing a transaction: edit
Suppose you want to edit the details of an income or expense in your wallet, the command you would enter is our wallet edit
command.
Format: wallet edit <transaction’s index> [n/<description>] [d/<date: dd/mm/yyyy>] [$/<amount>] [t/<tag>]
Command Format
The following are the restrictions of wallet edit
command, which you would need to take note of:
-
The
<transaction’s index>
must be stated, and it must exist in the list of transactions. -
The index must be a positive integer: 1, 2, 3, …
-
At least one of
[n/<description>]
,[d/<date: dd/mm/yyyy>]
,[$/<amount>]
,[t/<tag>]
should be stated. Multiple fields are allowed as well.
Confused over what a transaction is? Find out more about what is a transaction. The <transaction’s index> above refers to the index number shown in the displayed transaction list in Sharkie. It indicates a
specific transaction in the wallet.Still confused? Find out more about what is a transaction’s index. |
Example #1:
-
Suppose you want to edit the first transaction in the transaction list, "Dack rce -$4400.00", because you misspelled the name and wrote the wrong price.
-
The command you would enter is
wallet edit 1 n/Duck rice $/4.00
. -
This tells Sharkie that you want to edit the description and price of the first transaction shown in the wallet.
-
Expected Outcome #1:
-
The transaction you have selected will be modified to contain the new description and price you entered.
Edited Transaction: Duck rice Description: Duck rice Amount: $4.00 Date: 2020-03-30 Tag: [Food]
Example #2:
-
Suppose you want to edit the date and tag of the first transaction, "Duck rice", because you forgot to input the date and tag.
-
The command you would enter is
wallet edit 1 d/10/04/2020 t/food
. -
This tells Sharkie that you want to edit the date and tag of the first transaction shown in the wallet.
-
Expected Outcome #2:
-
The transaction you have selected will be modified to contain the new date and tag you entered.
Edited Transaction: Duck rice Description: Duck rice Amount: $4.00 Date: 2020-10-04 Tag: [Food]
5.2.5. Deleting an income or expense: delete
Suppose you want to delete a transaction, the command you would enter is our wallet delete
command.
Format: wallet delete <transaction’s index>
Command Format
The following are the restrictions of wallet delete
command, which you would need to take note of:
-
The
<transaction’s index>
must be stated, and it must exist in the list of transactions. -
The index must be a positive integer: 1, 2, 3, …
-
Only 1 transaction can be deleted each time. Multiple deletions in one command is not allowed.
Confused over what a transaction is? Find out more about what is a transaction. The <transaction’s index> above refers to the index number shown in the displayed transaction list in Sharkie. It indicates a
specific transaction in the wallet.Still confused? Find out more about what is a transaction’s index. |
Example:
-
Suppose you want to remove the first transaction, "Duck rice", from your wallet.
-
The command you would enter is
wallet delete 1
. -
This tells Sharkie that you want to delete the first transaction shown in the wallet.
-
Expected Outcome:
-
The transaction you have selected will be removed from the transaction list.
Deleted Transaction: Duck rice Description: Duck rice Amount: $4.00 Date: 2020-03-30 Tag: [Food]
5.2.6. Finding an income or expense: find
Suppose you want to find transactions with certain keywords or date within the transaction list in the wallet, the command you would enter is our wallet find
command.
Format: wallet find n/<keyword> [<keyword> …]
or wallet find $/<keyword> [<keyword> …]
or wallet find d/<keyword> [<keyword> …]
or wallet find t/<keyword> [<keyword> …]
Command Format
The following are the restrictions of wallet find
command, which you would need to take note of:
-
The
<keyword>
can be either of type[n/<description>]
,[d/<date: dd/mm/yyyy>]
,[$/<amount>]
, or[t/<tag>]
. -
You cannot search for multiple prefixes in one command. However, finding multiple
<keyword>
of the same prefix is allowed. -
At least 1
<keyword>
must be input. -
The
<keyword>
is case-insensitive for finding of description (n/
) and tag (t/
). -
The
<keyword>
need not be in full for finding of description (n/
) and tag (t/
). For examplewallet find n/ri
will also display transactions with the keyword "rice". -
For finding of amount (
$/x
), the amount entered, "x", must be an integer. -
For finding of amount (
$/x
), "x" being an integer, the transactions displayed will range from amounts of "$x.00" to "$x.99".
Confused over what a transaction is? Find out more about what is a transaction. |
Example #1:
-
Suppose you want to search for transactions with description containing keyword "rice" or "soup":
-
The command you would enter is
wallet find n/rice soup
. -
This tells Sharkie that you want to look for transactions with description "rice" or "soup".
-
Expected Outcome #1:
-
All transactions with description containing keyword "rice" and transactions with description containing keyword "soup" will be listed out.
3 transactions listed!
Example #2:
-
Suppose you want to search for transactions with amount ranging between "$7.00" to "$7.99" or "$30.00" to "$30.99".
-
The command you would enter is
wallet find $/7 30
. -
This tells Sharkie that you want to look for transactions with cost or income from "$7.00" to "$7.99" or "$30.00" to "$30.99".
-
Expected Outcome #2:
-
All transactions with with amount from "$7.00" to "$7.99" and amount from "$30.00" to "$30.99" will be listed out.
3 transactions listed!
Example #3:
-
Suppose you want to search for transactions with tag "food" or "shopping".
-
The command you would enter is
wallet find t/food shopping
. -
This tells Sharkie that you want to look for transactions with the tag "food" or "shopping".
-
Expected Outcome #3:
-
All transactions with tag "food" and transactions with tag "shopping" will be listed out.
5 transactions listed!
5.2.7. Listing all transactions: list
Suppose you want to see the full list of transactions, the command you would enter is our wallet list
command.
Format: wallet list
Confused over what a transaction is? Find out more about what is a transaction. |
Example:
-
Suppose you have just executed the
wallet find
command. Now, you would like to see the full list of transactions in the wallet again.-
The command you would enter is
wallet list
. -
This lists out all the transactions you have in your wallet.
-
Expected Outcome:
-
Sharkie will list all the transactions you have entered into the wallet.
Listed all transactions.
5.2.8. Clearing all transactions : clear
Suppose you want to clear all the data (transactions and budgets) in wallet, the command you would enter is our wallet clear
command.
Format: wallet clear
Data cleared, which includes the transactions and budget data, cannot be restored after using wallet clear command. |
Example:
-
Suppose you want to clear all the preset transactions in the wallet.
-
The command you would enter is
wallet clear
. -
This tells Sharkie that you want to clear all transactions in the wallet.
-
Expected Outcome:
-
All the transactions and budgets you have entered into the wallet will be removed.
Wallet has been cleared!
5.3. People Commands
This section introduces the twelve commands that you can use to have an effect on the people tab.
5.3.1. Adding a person: add
Suppose you want to add a new person to the contact list, the command you would enter is our people add
command.
Format: people add n/<name> p/<phone number> e/<email address>
Command Format
The following are the restrictions of people add
command, which you would need to take note of:
-
The
<name>
you entered should only contain alphanumeric characters and spaces. -
The
<phone number>
you entered should only contain numbers and it should be at least 3 digits long. -
The
<email address>
you entered should be in the format of local-part@domain.-
The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses (!#$%&'*+/=?`{|}~^.-).
-
The domain name must be at least 2 characters long, start and end with alphanumeric characters.
-
Example:
-
Suppose you want to add your new friend, "Joel", along with his phone number "91234567" and email "joel@example.com" into the contact list.
-
The command you would enter is
people add n/Joel p/91234567 e/joel@example.com
. -
This adds a person named "Joel" into your contact, along with his phone number and e-mail address.
-
Expected Outcome:
-
Your new friend, "Joel" will be added into your contact list:
New person added: Joel Phone: 91234567 Email: joel@example.com You owe: $0.00 You lent: $0.00
5.3.2. Editing a person : edit
Suppose a person has changed his contact details, and you want to update them, the command that you would enter
is the people edit
command.
Format: people edit <person’s index> [n/<name>] [p/<phone number>] [e/<email>]
Command Format
The following are the restrictions of people edit
command, which you would need to take note of:
-
The
<person’s index>
you entered should be a positive integer, e.g. 1, 2, 3, … -
You should provide at least one of the optional fields.
Existing values will be updated to the new values that you have inputted. |
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list.Still confused? Find out more about what is a person’s index. |
Example:
-
Suppose you want to update John’s email, and John is the first person in your contact list.
-
The command you would enter is
people edit 1 e/johndoe@example.com
. -
This edits the email address of the first person, John, to be "johndoe@example.com".
-
Expected Outcome:
-
In the list of people shown, John’s email will be "johndoe@example.com".
Edited Person: John Doe Phone: 91234568 Email: johndoe@example.com You owe: $0.00 You lent: $0.00 Tags:
5.3.3. Deleting a person : delete
Suppose you would like to delete a person’s contact details, the
command that you would enter is the people delete
command.
Format: people delete <person’s index>
Command Format
The following are the restrictions of people delete
command, which you should take note of:
-
The
<person’s index>
you entered should be a positive integer, e.g. 1, 2, 3, …
Remember to check and ensure that the <person’s index> that you have inputted corresponds to the correct person.
|
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list.Still confused? Find out more about what is a person’s index. |
Example:
-
Suppose you want to delete "Betsy" from your contact list, and "Betsy" is the first person in the list.
-
The command that you would enter is
people delete 1
. -
Sharkie will delete "Betsy" from the contact list.
-
Expected Outcome:
-
"Betsy" will no longer be shown on the list of people.
Deleted Person: Betsy Phone: 91234567 Email: something@email.com You owe: $0.00 You lent: $0.00 Tags:
5.3.4. Recording the money you owe: owe
Suppose you owe a person money and you want to record the debt, the command you would enter is the people owe
command.
Format: people owe <person’s index> n/<description> $/<amount> [d/<date: dd/mm/yyyy>]
Command Format
The following are the restrictions of people owe
command, which you would need to take note of:
-
The
<person’s index>
you entered should be a positive integer, e.g. 1, 2, 3, … -
The
<amount>
should be a valid amount
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list whom you owe money to.Still confused? Find out more about what is a person’s index. The amount of money recorded will be added under your friend’s "debts" section. Debts represent the amount of money you owe your friends. Still confused? Find out more about the differences between debts and loans. |
The <date: dd/mm/yyyy> is optional. If <date: dd/mm/yyyy> is not specified, the date that you record the debt will be used.
|
Example:
-
Suppose you owe "Grace", who is the fourth person in the contact list, "$5" for "food" on "10 October 2020".
-
The command you would enter is
people owe 4 n/food $/5.00 d/10/10/2020
-
This records that you owe "Grace", the fourth person in the contact list, "$5.00" for "food" on "10/10/2020".
-
Expected Outcome:
-
Your debt to "Grace" will increase by "$5".
Increased debt to Grace by $5.00. You now owe Grace $10.00.
5.3.5. Recording the money you return: returned
Suppose you have returned a person a debt, and you want to remove the debt recorded, the command that you would enter is
the people returned
command.
Format: people returned <person’s index> [i/<debt’s index>]
Command Format
The following are the restrictions of people returned
command, which you would need to take note of:
-
The
<person’s index>
and<debt’s index>
you entered should be positive integers, e.g. 1, 2, 3, …
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates
a specific person in the contact list whom you returned the money to.Still confused? Find out more about what is a person’s index. The <debt’s index> above refers to the index number shown in the displayed debt list in Sharkie. It indicates a specific
debt under the person whom you returned the money to.Still confused? Find out more about what is a debt’s index. Debts represent the amount of money you owe your friends. Still confused? Find out more about the differences between debts and loans. |
The <debt’s index> is optional.
Sharkie will remove all debts for the person if the <debt’s index> is not specified.
|
Example:
-
Suppose that you have just returned "Grace", the fourth person in the contact list, the first debt in her debt list.
-
The command that you would enter is
people returned 4 i/1
. -
This records that you have returned the money for the first debt of "Grace", the fourth person in the contact list.
-
Expected Outcome:
-
The first debt of "Grace" will be removed from her debt list and the unsettled debts to "Grace" will be shown.
Reduced debt to Grace by $5.00. You now owe Grace $5.00.
5.3.6. Recording the money you lend: lend
Suppose you lend a person money and you want to record the loan, the command you would enter is the people lend
command.
Format: people lend <person’s index> n/<description> $/<amount> [d/<date: dd/mm/yyyy>]
Command Format
The following are the restrictions of people lend
command, which you would need to take note of:
-
The
<person’s index>
you entered should be a positive integer, e.g. 1, 2, 3, … -
The
<amount>
should be a valid amount.
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list whom you lent money to.Still confused? Find out more about what is a person’s index. The amount of money recorded will be added under your friend’s "loans" section. Loans represent the amount of money you lend your friends. Still confused? Find out more about the differences between debts and loans. |
The <date: dd/mm/yyyy> is optional. If <date: dd/mm/yyyy> is not specified, the date that you record the loan will be used.
|
Example:
-
Suppose you lent "Syin Yi", who is the fifth person in the contact list, "$5" for "dinner" on "10 October 2020".
-
The command you would enter is
people lend 5 n/dinner $/5.00 d/10/10/2020
-
This records that you owe "Syin Yi", the fifth person in the contact list, "$5.00" for "dinner" on "10/10/2020".
-
Expected Outcome:
-
Your loan to "Syin Yi" will increase by "$5".
Increased loan to Syin Yi by $5.00. Syin Yi now owes you $8.00.
5.3.7. Recording the money you received: received
Suppose you want to record that you have received the money for a certain loan (or for all loans) from your friend,
the command you would enter is our people received
command.
Format: people received <person’s index> [i/<loan’s index>]
Command Format
The following is the restrictions of people received
command, which you would need to take note of:
-
The
<person’s index>
and<loan’s index>
you entered should be positive integers, e.g. 1, 2, 3, …
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list, who you received from.Still confused? Find out more about what is a person’s index. The <loan’s index> above refers to the index number shown in the displayed loans list in Sharkie. It indicates a
specific loan under the person, which you received from.Still confused? Find out more about what is a loan’s index. Loans represent the amount of money you lend your friends. Still confused? Find out more about the differences between debts and loans. |
The <loan’s index> is optional.
All loans will be removed for the indicated person if the <loan’s index> is not specified.
|
Example:
-
Suppose you want to record that you have received the money from "Joel", who is the second person in the contact list, for the first loan in his loans list.
-
The command you would enter is
people received 2 i/1
. -
This records that you have received the money for the first loan of "Joel", the second person in the contact list.
-
Expected Outcome:
-
The first loan of "Joel" will be removed from his loans list and the unsettled loans of "Joel" will be shown.
Removed loan to Joel by $10.00. Joel now owes you $2.00.
5.3.8. Sending reminder to a friend: remind
Suppose you want to remind a friend to return unsettled loans to you through an email,
the command you would enter is our people remind
command.
Format: people remind <person’s index>
Command Format
The following are the restrictions of people remind
command, which you would need to take note of:
-
The
<person’s index>
you entered should be a positive integer, e.g. 1, 2, 3, …
You would need to connect to the Internet and include your details in Sharkie before using this command.
You can enter or edit your details at "Edit" > "Edit user’s data". Before you enter the people remind command, please make sure that your friend’s email address is correct.
|
The <person’s index> above refers to the index number shown in the displayed person list in Sharkie. It indicates a
specific person in the contact list, who you want to remind.Still confused? Find out more about what is a person’s index. Loans represent the amount of money you lend your friends. Still confused? Find out more about the differences between debts and loans. |
If you receive connection error messages during the execution of the people remind command,
please visit how to resolve connection issues.
|
Example:
-
Suppose you want to remind "Daniel", who is the first person in your contact list to return you your money.
-
The command you would enter is
people remind 1
. -
This requests Sharkie to send an email to "Daniel", the first person in your contact list.
-
Expected Outcome:
-
"Daniel" will receive a reminder from Sharkie via his email. You will also receive a carbon copy (CC) of the email sent to "Daniel":
Reminded Daniel to return $3.00! Sharkie has sent a carbon copy (CC) of the reminder to your email!
5.3.9. Sending reminder to all friends: remindall
Suppose you want to remind all your friends in your contact list to return you your money,
the command you would enter is our people remindall
command.
Format: people remindall
You would need to connect to the Internet and include your details in Sharkie before using this command.
You can enter or edit your details at "Edit" > "Edit user’s data". Before you enter the people remindall command, please make sure that your friends' email addresses are correct.
|
Only your friends, who have unsettled loan(s) will be reminded. Your friends who have zero loans will
not receive a reminder. Loans represent the amount of money you lend your friends. Still confused? Find out more about the differences between debts and loans. |
If you receive connection error messages during the execution of people remindall command,
please visit how to resolve connection issues.
|
Example:
-
Suppose you want to remind all your friends in your contact list who have yet to repay you.
-
The command you would enter is
people remindall
. -
This requests Sharkie to send an email to everyone in your contact list who have yet to repay you.
-
Expected Outcome:
-
All your friends who have yet to repay you will receive a reminder from Sharkie via their emails. You will also receive a carbon copy (CC) of each of the emails sent to your friends:
Reminded Cheyanne to return $20.00! Reminded Daniel to return $10.00! Reminded Joel to return $30.75! Sharkie has sent carbon copies (CC) of the reminders to your email!
5.3.10. Finding a person: find
Suppose you want to find a person in your contact list by a specific keyword,
the command you would enter is our people find
command.
Format: people find n/<keyword> [<keyword>…]
or people find p/<keyword> [<keyword>…]
or people find e/<keyword> [<keyword>…]
or people find t/<keyword> [<keyword>…]
Command Format
The following are the restrictions of people find
command, which you would need to take note of:
-
You would not have to consider the case of the
<keyword>
, as it is case-insensitive. -
The
<keyword>
you want to enter can be incomplete. For example,people find n/jo
will display the persons whose name contains the keyword "jo", such as "Joel". -
The
<keyword>
you entered should be one of the prefixes: name (n/
), phone (p/
), email (p/
) or tag (t/
).-
You may use the tag prefix
t/
to find people with debts or loans in your contact list. Hence,Debt
andLoan
(case-insensitive) are the only tags, which you are allowed to use inpeople find
command.
-
Debts represent the amount of money you owe your friends and
loans represent the amount of money you lend your friends. Still confused? Find out more about the differences between debts and loans. |
Example #1:
-
Suppose you want to find your friends, who are called "Grace".
-
The command you would enter is
people find n/Grace
. -
This requests Sharkie to list out the people with the name, "Grace".
-
Expected Outcome #1:
-
All your friends with the name, "Grace" will be listed out:
2 persons listed!
Example #2:
-
Suppose you want to find your friends with unsettled debt(s) or loan(s).
-
The command you would enter is
people find t/debt loan
. -
This requests Sharkie to list out the people with unsettled debt(s) or loan(s).
-
Expected Outcome #2:
-
All your friends with unsettled debt(s) or loan(s) will be listed out:
2 persons listed!
5.3.11. Listing all contacts: list
Suppose that you have just executed the people find
command. And now, you would like to see the
entire list of people in your contact list. The command you would enter is our people list
command.
Format: people list
Example:
-
Suppose you want to view the entire list of people in your contact list.
-
The command that you would enter is
people list
. -
This will list out your entire contact list.
-
Expected Outcome:
-
The details of everyone in the contact list, including their name, phone, email address, debts and loans, will be listed.
Listed all persons.
5.3.12. Clearing all contacts : clear
Suppose you want to clear all the contacts in your contact list,
the command you would enter is our people clear
command.
Format: people clear
Example:
-
Suppose you want to clear all your contacts.
-
The command you would enter is
people clear
. -
This requests Sharkie to delete all the contacts in your contact list.
-
Expected Outcome:
-
Sharkie will delete all the contacts and return an empty contact list.
Contact list has been cleared!
7. Command Summary
If you wish to have a quick reference to the commands available in Sharkie, you can refer to the list below.
7.1. General Commands
The following are the general commands that are available in Sharkie for you to use! You do not need to use any prefixes to use these commands.
Command |
Format |
Expected outcome |
|
|
Opens up a window with a link to the User Guide. |
|
|
Saves your data and safely exits |
7.2. Wallet Commands
The following commands are wallet-related commands that are available in Sharkie for you to use! You will need to use the prefix wallet
to use the commands.
Command |
Format |
Expected outcome |
|
|
Sets a budget for you for the month selected. |
|
|
Removes all your transactions entered in your wallet. |
|
|
Removes the transaction selected at that index from the wallet. |
|
|
Edits your transaction in the wallet at the index selected with your given arguments. |
|
|
Creates an expense and adds it to your wallet. |
|
|
Finds your transaction(s) within your wallet using the arguments you have provided. |
|
|
Creates an income and adds it to your wallet. |
|
|
Lists all your transactions that have been recorded by Sharkie in the wallet. |
7.3. People Commands
The following commands are people-related commands that are available in Sharkie for you to use! You will need to use the prefix people
to use the commands.
Command |
Format |
Expected outcome |
|
|
Adds a contact to your contact list, with the particulars that you have entered. |
|
|
Clears all your contacts in your contact list. |
|
|
Deletes your contact at the index you have selected. |
|
|
Edits your contact in the contact list at the index selected with the given arguments. |
|
|
Finds your contact(s) within your contact list using the arguments you have provided. |
|
|
Records a loan to your contact at the index selected in your contact list. |
|
|
Lists all your contacts that have been recorded by Sharkie in the contact list. |
|
|
Records a debt to your contact at the index selected in your contact list. |
|
|
Removes the loan at the index selected for your contact selected. |
|
|
Sends an email to the contact at the index you have selected, reminding them of any withstanding debts that have to be paid back to you. |
|
|
Sends an email to all your contacts with any withstanding debts, reminding them to pay you back. |
|
|
Removes the debt at the index selected for your contact selected. |