By: Team AY1920S2-CS2103-T09-3
Since: Feb 2020
Licence: MIT
- 1. Product Overview
- 2. Quick Start (Hubert Halim)
- 3. Features Present
- 3.1. Viewing help :
help
- 3.2. Set a monthly budget :
budget
(Hubert Halim) - 3.3. Reset total balance
resetbalance
(Hubert Halim) - 3.4. Key in transaction :
add
(Fheng Guo Jing, Benjamin) - 3.5. Filter transactions :
filter
(Pang Kim Jin) - 3.6. Deleting a transaction :
delete
(Fheng Guo Jing, Benjamin) - 3.7. Edit a transaction :
edit
(Fheng Guo Jing, Benjamin) - 3.8. Analysis of transactions :
toggleview
(Choi Min Suk + Pang Kim Jin) - 3.9. Find transaction by name :
find
- 3.10. List of transactions :
list
- 3.11. Clear all recurring transactions stored :
clearrecurring
(Fheng Guo Jing, Benjamin) - 3.12. Export transaction data to csv :
export
(Choi Min Suk) - 3.13. Import transaction data from csv :
import
(Fheng Guo Jing, Benjamin) - 3.14. Clear all data :
clear
(Hubert Halim) - 3.15. Exiting the program :
exit
- 3.16. Saving the data
- 3.17. Data Encryption [coming in v2.0] (Pang Kim Jin)
- 3.18. ExpenseLa Statement
Statement
[coming in v2.0] (Pang Kim Jin)
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
1. Product Overview
ExpenseLa is for money-conscious NUS students who wish to track their spending, in order to make better informed decisions when it comes to saving money. ExpenseLa maintains a record of your daily incoming and outgoing transactions to constantly keep track of your finances! ExpenseLa is optimized for those who prefer to work with a Command Line Interface (CLI) while still enjoying the benefits of having a Graphical User Interface (GUI). If you want a simple, no-frills expense tracker, look no further than ExpenseLa!
2. Quick Start (Hubert Halim)
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
expensela.jar
here. -
Copy the file to the folder you want to use as the home folder for your ExpenseLa.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
The UI has 5 different components: Command Input box, Command Result box, Monthly Data panel Filter panel and Transaction List panel(Chart Analytics Panel)
-
Filters are only to filter transaction list and chart analytics, MonthlyData is data for the current month and not the month shown in the filter. So filter does not apply to MonthlyData.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
You can navigate through your command history by pressing the Up or Down arrow key. Only successful commands are stored in the command history. There can be at most 50 commands stored. This feature is just like the command navigation feature in your favourite command line or shell.
-
An example command sequence you can try:
-
clear
: clear the expenseLa app to start at a clean slate -
budget b/1000 rc/
: set a recurring budget of $1000 for the current month and subsequent months -
add i/ c/Income n/salary a/2500 d/2020-04-02 rc/
: adds a recurring income with amount$2500.00
-
add a/100
n/Wagyu Steak c/FOOD
: adds an expense namedWagyu Steak
with amount$100.00
spent on the day it is added in categoryFOOD
to the expense tracker -
add a/10
n/Laksa c/FOOD
: adds an expense namedLaksa
with amount$10.00
spent on the day it is added in categoryFOOD
to the expense tracker -
add a/5.5
n/Chicken Rice c/FOOD
: adds an expense namedChicken Rice
with amount$5.50
spent on the day it is added in categoryFOOD
to the expense tracker -
add a/50
n/shirt c/SHOPPING d/2020-04-08
: adds an expense namedshirt
with amount50.00
spent on2020-04-08
in categorySHOPPING
to the expense tracker -
filter
c/FOOD m/2020-02
: filters to only show transactions made on2020-02
with categoryFOOD
-
delete
1
: deletes the expense with id1
in the current list -
exit
: exits the app
-
-
Refer to Section 3, “Features Present” for details of each command.
3. Features Present
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. infilter c/OBJECT
,OBJECT
is a parameter which can be used asfilter c/FOOD
. -
Parameters are not case sensitive, but prefixes are
-
Items in square brackets are optional e.g
spend a/AMOUNT n/ OBJECT [d/ DATE] [c/ CAT]
and can used asadd a/100 n/Pizza
oradd a/100 n/Pizza d/2020-02-02 c/Food
-
Parameters can be in any order e.g. if the command specifies
n/NAME a/AMOUNT
,a/AMOUNT n/NAME
is also acceptable. -
The length of command a user can input is at most 140 characters.
3.2. Set a monthly budget : budget
(Hubert Halim)
Sets a spendable budget for the current month
Format: budget b/AMOUNT
(to set a budget for the given month only)
budget b/AMOUNT rc/
(to set repeating budget of $AMOUNT
for the coming months)
Example Usage:
-
budget b/1000
- set a non-recurring budget of $1000.00 -
budget b/1500 rc/
- set a recurring budget of $1500.00
3.3. Reset total balance resetbalance
(Hubert Halim)
Reset Balance
value to the total from the amount of all transactions in stored in the application so far.
This command is used in case the user makes a mistake when editing the json file or there is an unhandled bug in the app that
causes difference in the value of total balance and the net balance of all the transactions added together.
This command will rectify that issue.
3.4. Key in transaction : add
(Fheng Guo Jing, Benjamin)
Adds an expense or income to the expense tracker. Expenses/incomes are stored as transactions.
Format: add [i/] n/ NAME a/ AMOUNT [d/ DATE] [c/ CATEGORY] [r/ REMARK] [rc/]
Expected Outcome: A new transaction would be created in the list of transactions. If the newly created transaction is part of the currently filtered transaction, it’ll be visible in the list
Leaving the DATE option blank will auto fill with today’s date |
Leaving the CATEGORY option blank will auto fill with 'MISC' category |
Not including i/ will make transaction an expense by default while including i/ will make it an income |
Including rc/ will make transaction recurring every month on the same day set in the transaction date |
Examples:
-
add a/ 26.00 n/ Grab Share d/ 2020-02-19 c/ TRANSPORT
-
add a/ 16.00 n/ Pizza r/ Lunch c/ FOOD
-
add i/ a/ 200.00 n/ pocket money c/INCOME rc/
3.5. Filter transactions : filter
(Pang Kim Jin)
Filters transactions for user to view specific transactions according to the filter type. Upon application launch the preset filter is for all transactions in the current month as depicted below:
Format: filter c/CATEGORY m/YYYY-MM
Expected Outcome: Filter is changed to the filter specified. List of transactions will only show transactions that fulfill the filter criteria.
If only 1 filter type is specified (either category or month), the other filter type will automatically be set to "ALL". |
Examples:
-
filter m/2020-04
- show transactions in April 2020 across all categories -
filter c/TRANSPORT
- show transactions with category "TRANSPORT" across all months -
filter c/FOOD m/2020-04
- show transactions with category "FOOD" in April 2020 -
filter c/ALL m/ALL
- show all transactions
3.6. Deleting a transaction : delete
(Fheng Guo Jing, Benjamin)
Deletes the specified transaction from the expense tracker.
Format: delete TRANSACTION_ID
Expected Outcome: Transaction at the specified index in the current transaction list is deleted
TRANSACTION_ID refers to the index of the transaction in the list visible to user.
|
Examples:
-
delete 3
Deletes the transaction with index number 3 in the expense tracker’s current transaction list.
3.7. Edit a transaction : edit
(Fheng Guo Jing, Benjamin)
Edit the specified transaction from the expense tracker
Format: edit TRANSACTION_ID [n/ NAME] [a/ AMOUNT] [d/ DATE] [c/ CAT] [r/ REMARK]
Expected Outcome: Transaction at the given index has its parameters changed as specified
Examples:
-
edit 1 a/ 26.00 n/ Grab Share d/ 2020-02-19 c/ TRANSPORT
-
edit 2 a/ 16.00 n/ Pizza c/ FOOD
-
edit 3 a/ 200.00 n/ pocket money
3.8. Analysis of transactions : toggleview
(Choi Min Suk + Pang Kim Jin)
Toggle between viewing list of transactions and analytics with bar graph and pie chart to show expense trend.
If filter is set to a specific month, the bar graph displays the transactions by day of the week. If filter is set to all months, bar chart will display transactions by month for current and previous year. The pie chart will show the transactions by the different categories according to the filter.
Expected Outcome: changed view to charts if previously was list view and to list view if previously was chart view.
ToggleView and BarChart by Choi Min Suk and PieChart by Pang Kim Jin
|
3.9. Find transaction by name : find
Find Transaction that matches one of the words from a given list of keywords
Format: find KEYWORD_1 [KEYWORD_2] … [KEYWORD_N]
Expected Outcome: Clears all filter and display all transactions whose name matches any of the keyword
Examples:
-
find bottle school
(find all transactions whose name contain either bottle or school)
3.10. List of transactions : list
List all transactions and reset all filters
3.11. Clear all recurring transactions stored : clearrecurring
(Fheng Guo Jing, Benjamin)
Clear all recurring transactions stored
Expected Outcome: All recurring transactions in the json file GlobalData.json will be cleared
3.12. Export transaction data to csv : export
(Choi Min Suk)
Export the filtered transaction list to a csv file
Expected Outcome: A csv file will be created at the root directory and all transactions currently visible in the app will be exported to the csv file.
3.13. Import transaction data from csv : import
(Fheng Guo Jing, Benjamin)
Import transactions from csv and add it to transaction list, duplicate transactions are ignored.
Csv File has to be in the same directory as the jar file in order for it to read. import
has to be accompanied by the
[filename].csv in order to import. Transactions in the csv file have to be of the same format as the above table format in
3.12 (export).
Expected Outcome: All transactions in the csv that is in the correct format and does not exist in the current transaction lsit will be added to transaction list
Examples:
-
import transactions.csv
(imports all transactions from transactions.csv folder)
3.14. Clear all data : clear
(Hubert Halim)
Clear all data in ExpenseLa including monthly data and global data
Expected Outcome: All transactions are deleted, balance is set to 0 and monthly data is also set to 0. All recurring data such as budget and transactions are also cleared
3.16. Saving the data
ExpenseLa data are saved in the hard disk automatically as a json file after any command that changes the data.
There is no need to save manually.
3.17. Data Encryption [coming in v2.0] (Pang Kim Jin)
With the AES-256 encryption, ExpenseLa ensures that the sensitive information you have provided is safe from outside prying eyes, and this is all done without any additional effort from the user.
3.18. ExpenseLa Statement Statement
[coming in v2.0] (Pang Kim Jin)
With the ability to generate your personalised ExpenseLa statement, you will be able to export all your expenses,
income, budget, and balance information into a pdf document. Using ExpenseLa’s Filter
command, you will be able
to selectively include which transactions to make your statement tailored to your needs.
4. FAQ
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 Expense Tracker folder.
5. Command Summary
-
Budget :
budget b/ AMOUNT
budget rc/ b/ AMOUNT
e.g.budget b/ 1000
budget b/ 1500 rc/
-
add :
add a/ AMOUNT n/ NAME [d/ DATE] [c/ CATEGORY] [r/ REMARK] [rc/]
e.g.add a/ 26.00 n/ Grab Share d/ 2020-02-19 c/ TRANSPORT
add a/ 16.00 n/ Pizza r/ Lunch c/ FOOD
add i/ a/ 200.00 n/ pocket money c/INCOME rc/
-
Filter :
filter m/YYYY-MM
filter c/CATEGORY
e.g.filter m/2020-02
filter c/FOOD
filter c/TRANSPORT m/2020-03
filter c/ALL m/ALL
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find pizza
find hawaiian wood fired pizza
-
Delete :
delete TRANSACTION_ID
e.g.delete 3
-
Edit :
edit TRANSACTION_ID [n/ NAME] [a/ AMOUNT] [d/ DATE] [c/ CAT] [r/ REMARK]
e.g.edit 1 a/ 26.00 n/ Grab Share d/ 2020-02-19 c/ TRANSPORT
edit 2 a/ 16.00 n/ Pizza c/ FOOD
edit 3 a/ 200.00 n/ pocket money
-
Toggle View :
toggleview
-
Reset Balance:
resetbalance
-
Clear:
clear
-
Exit:
exit
-
List :
list
-
Export :
export
-
Import :
import [FILENAME].csv
-
Clear Recurring Transactions:
clearrecurring
-
Help :
help