Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CS2103T-W09-2] FastTrack #120

Open
wants to merge 560 commits into
base: master
Choose a base branch
from
Open
Changes from 5 commits
Commits
Show all changes
560 commits
Select commit Hold shift + click to select a range
de23030
Merge pull request #146 from shirsho-12/master
nicleejy Mar 31, 2023
6065db9
final fix before release
nicleejy Mar 31, 2023
f9e0344
final fix before release
nicleejy Mar 31, 2023
085cc8d
fix typo in add recurring expense command, resize category display
nicleejy Mar 31, 2023
6b08b8d
Update UG
randallnhr Mar 31, 2023
3f84d69
Fix checkstyle
randallnhr Mar 31, 2023
572b545
Update UG
randallnhr Mar 31, 2023
f48181b
Merge pull request #150 from randallnhr/master
nicleejy Mar 31, 2023
44bb475
reformat ug and fix some invalid syntax
nicleejy Mar 31, 2023
15fd1f0
fix for wrong image used
nicleejy Mar 31, 2023
b0285da
add autocomplete feature to ug
nicleejy Mar 31, 2023
d6dd1d0
Merge pull request #151 from nicleejy/release-refactoring
gitsac Mar 31, 2023
27ee72f
Merge pull request #152 from nicleejy/update-ug-release
gitsac Mar 31, 2023
1b63a2d
update table spacing
nicleejy Mar 31, 2023
156e473
Merge pull request #153 from nicleejy/update-ug-release
nicleejy Mar 31, 2023
05f1c43
Fix equals bugs
shirsho-12 Apr 1, 2023
1e9295a
Fix negative price bugs
shirsho-12 Apr 1, 2023
8dd506b
update branch with latest release
nicleejy Apr 1, 2023
e847229
fix checkstyle
shirsho-12 Apr 1, 2023
4807010
fix json newline
shirsho-12 Apr 1, 2023
a1db488
Fix bugs for editing categories and expenses
gitsac Apr 2, 2023
3d4353e
Fix edit bug
shirsho-12 Apr 3, 2023
c522718
Fix duplicate categories
shirsho-12 Apr 3, 2023
a8b6fb2
Fix checkstyle
shirsho-12 Apr 3, 2023
d58365e
Merge pull request #203 from shirsho-12/master
shirsho-12 Apr 3, 2023
afb2f03
Resolve merge conflict
gitsac Apr 3, 2023
fdf211c
change address app names to fasttrack, fix recurring expense manager
nicleejy Apr 3, 2023
eaef4dd
update current branch with master
nicleejy Apr 3, 2023
af87e7b
fix save on exit with no command
nicleejy Apr 3, 2023
36b5054
re-add recurring expense fix overwritten by previous commit
nicleejy Apr 3, 2023
0fa3629
fix checkstyle issue
nicleejy Apr 3, 2023
62f0164
Merge pull request #206 from nicleejy/product-demo
shirsho-12 Apr 3, 2023
060498d
Merge branch 'master' of https://github.com/gitsac/tp
gitsac Apr 3, 2023
f7478f3
Fix find and edit expense combined bug
gitsac Apr 3, 2023
5b2e8c9
Add storage, model, and command PUML
shirsho-12 Apr 4, 2023
e57e485
Refactor commands for UML
shirsho-12 Apr 4, 2023
bd658d6
Merge pull request #207 from gitsac/master
shirsho-12 Apr 4, 2023
e0ff271
merge with master
shirsho-12 Apr 4, 2023
c8b975f
Refactor parser
shirsho-12 Apr 4, 2023
efa9875
Mandatory json fix
shirsho-12 Apr 4, 2023
5e61574
simplify RecurringExpenseManager equals
shirsho-12 Apr 4, 2023
228fbfd
Merge pull request #208 from shirsho-12/uml-diagrams
shirsho-12 Apr 4, 2023
2ed3ae7
Update DG
randallnhr Apr 5, 2023
bc4c8e2
Add DG changes
gitsac Apr 5, 2023
8ad4a71
Merge pull request #209 from randallnhr/master
gitsac Apr 5, 2023
395e550
Merge branch 'master' into master
gitsac Apr 5, 2023
64c392b
Merge pull request #210 from gitsac/master
gitsac Apr 5, 2023
76bad44
Refactor minor
shirsho-12 Apr 6, 2023
0f69f0a
Remove addressbook from file path
shirsho-12 Apr 6, 2023
b83b408
Remove redundant imports
shirsho-12 Apr 6, 2023
4905afb
Fix testing bugs
shirsho-12 Apr 7, 2023
8df1cba
fix testing bugs
shirsho-12 Apr 7, 2023
a92f812
Add list command testing skeletons
shirsho-12 Apr 7, 2023
a305a30
fix command result formatting, minor bug fixes
nicleejy Apr 7, 2023
bcf80da
change result message for price
nicleejy Apr 7, 2023
6aa82e0
update ug feature
nicleejy Apr 7, 2023
51203ac
Rearrange first few sections of UG
jinbesan Apr 7, 2023
5bae36a
Update to table of contents (minor)
jinbesan Apr 7, 2023
b8845f8
Fix UG bugs
jinbesan Apr 7, 2023
d020c2a
complete second half of user guide
nicleejy Apr 8, 2023
3f85267
update help window to only display link to ug
nicleejy Apr 8, 2023
f6b4d91
Merge pull request #211 from shirsho-12/master
gitsac Apr 8, 2023
2c77d11
Merge pull request #212 from jinbesan/UG-Update
gitsac Apr 8, 2023
ecabfcd
Merge branch 'master' into update-ug-1.4
nicleejy Apr 8, 2023
a81cc43
update user guide
nicleejy Apr 8, 2023
9b571cb
Add DG changes for implementations
gitsac Apr 8, 2023
05ee7a9
Update UG
randallnhr Apr 8, 2023
f40835c
Merge branch 'master' of https://github.com/randallnhr/tp
randallnhr Apr 8, 2023
fe27366
Merge pull request #213 from nicleejy/update-ug-1.4
gitsac Apr 8, 2023
126c8a9
fix formatting issues in ug
nicleejy Apr 8, 2023
1d8d57f
Add DG implementation details for lcat and lrec
gitsac Apr 8, 2023
99fbc36
add more detailed instruction for category autocompletion
nicleejy Apr 8, 2023
7294229
update with upstream changes
nicleejy Apr 8, 2023
cc2053f
minor bug fixes
nicleejy Apr 8, 2023
37fe4c7
Resolve merge conflicts
gitsac Apr 8, 2023
eb582a3
Remove duplicate classes that caused CI fail
gitsac Apr 8, 2023
4f9ffee
Merge pull request #214 from nicleejy/update-ug-1.4
gitsac Apr 8, 2023
de46f89
Merge pull request #215 from nicleejy/master
gitsac Apr 8, 2023
3e6cac3
add activity diagrams, autocomplete dg writeup
nicleejy Apr 8, 2023
a45d907
removed typo in ug
nicleejy Apr 8, 2023
76b0497
fix ui bugs
nicleejy Apr 9, 2023
76d26c6
fix checkstyle
nicleejy Apr 9, 2023
8d92f58
Merge pull request #218 from nicleejy/dg-activity-diagram
shirsho-12 Apr 9, 2023
b48731e
Merge pull request #217 from gitsac/master
shirsho-12 Apr 9, 2023
47c5b2f
Merge pull request #219 from nicleejy/ui-bugfix
shirsho-12 Apr 9, 2023
998dc8d
Add Effort portion for DG
gitsac Apr 9, 2023
207a4e5
Add whitespace to fix checkstyle
gitsac Apr 9, 2023
09e6aa5
Merge pull request #220 from gitsac/master
gitsac Apr 9, 2023
b77c867
Add sequence diagrams
shirsho-12 Apr 9, 2023
b05043d
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
shirsho-12 Apr 9, 2023
0f85d4c
Fix delete uml diagram
shirsho-12 Apr 9, 2023
9251d52
Fix list command uml diagram
shirsho-12 Apr 9, 2023
9c7084d
Fix sequence diagram inconsistencies
shirsho-12 Apr 9, 2023
034001b
Update DG
randallnhr Apr 9, 2023
37c547d
Fix Checkstyle
randallnhr Apr 9, 2023
3315c0e
Merge branch 'master' into master
randallnhr Apr 9, 2023
b3d14e3
Add testcases and update equals method for EditExpenseCommand
gitsac Apr 9, 2023
292aad5
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 9, 2023
5353e69
added test cases for parser, addexpense
nicleejy Apr 9, 2023
cafcd72
removed fastTrack.json
nicleejy Apr 9, 2023
c985982
Fix CI failure
gitsac Apr 9, 2023
8f7c086
Merge pull request #222 from randallnhr/master
gitsac Apr 9, 2023
e0c693a
Merge pull request #224 from nicleejy/testing-1.4
gitsac Apr 9, 2023
ef6185a
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 9, 2023
8c052ea
Add PPP
gitsac Apr 9, 2023
db2e0e3
Merge branch 'master' of https://github.com/gitsac/tp
gitsac Apr 9, 2023
6377b9b
Add AddCategoryCommandParser test
randallnhr Apr 9, 2023
c6d8cf0
added test cases for other utility classes
nicleejy Apr 9, 2023
052b4a3
update ug with additional clarification
nicleejy Apr 9, 2023
e45134d
Add test files
randallnhr Apr 9, 2023
ae00dd8
Fix codecov patch
gitsac Apr 9, 2023
5af9d9a
Modify test cases
gitsac Apr 9, 2023
a68001e
Add additional testcase
gitsac Apr 9, 2023
5902920
Change testcases to use assert instead of direct comparison
gitsac Apr 9, 2023
d77d278
Add testcase for editrecurringexpensemanagerparser
gitsac Apr 9, 2023
4bd2b3d
Add List tests
jinbesan Apr 10, 2023
37829c6
Update List Tests
jinbesan Apr 10, 2023
31db9d8
add some test cases for ui classes
nicleejy Apr 10, 2023
cad0462
Merge pull request #225 from nicleejy/testing-1.4
shirsho-12 Apr 10, 2023
18805b3
Update List Tests
jinbesan Apr 10, 2023
b207798
Merge branch 'master' into master
shirsho-12 Apr 10, 2023
f377310
Merge pull request #221 from shirsho-12/master
shirsho-12 Apr 10, 2023
8c0a520
Merge branch 'master' into master
shirsho-12 Apr 10, 2023
35c5499
Merge pull request #226 from randallnhr/master
shirsho-12 Apr 10, 2023
61347b6
Add test cases for JsonAdaptedRecurringExpenseManager
gitsac Apr 10, 2023
9b2ed97
Simplify equals method used for Edit commands
gitsac Apr 10, 2023
3a9c706
Merge branch 'master' into list_tests
jinbesan Apr 10, 2023
5e882bf
Update JSON to pass checkstyle
jinbesan Apr 10, 2023
c5f5412
Merge branch 'list_tests' of https://github.com/jinbesan/tp into
jinbesan Apr 10, 2023
3465bfe
Fix checkstyle issue
jinbesan Apr 10, 2023
4be8d31
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 10, 2023
dc7805e
Fix whitespace errors for CI
gitsac Apr 10, 2023
b47037d
fix test cases for ui
nicleejy Apr 10, 2023
10ce8fa
update javafx start method
nicleejy Apr 10, 2023
74b7ef3
Merge pull request #230 from nicleejy/testing-1.4
nicleejy Apr 10, 2023
3458cc3
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 10, 2023
daeaa72
Fix CI issues for whiteline
gitsac Apr 10, 2023
3bee891
Merge pull request #223 from gitsac/master
gitsac Apr 10, 2023
e283e48
add headless mode to ui tests
nicleejy Apr 10, 2023
b1f6f9c
Merge pull request #231 from nicleejy/master
nicleejy Apr 10, 2023
ea37aa5
remove ui test classes
nicleejy Apr 10, 2023
ec9e34c
Merge pull request #232 from nicleejy/master
nicleejy Apr 10, 2023
8c37497
Fix PPP references
gitsac Apr 10, 2023
3d98597
Merge pull request #233 from gitsac/master
gitsac Apr 10, 2023
4ece581
Enable assertions
gitsac Apr 10, 2023
30d4ead
Rearrange User Guide
jinbesan Apr 10, 2023
93184ab
Merge branch 'master' of https://github.com/jinbesan/tp into list_tests
jinbesan Apr 10, 2023
1da0081
Merge branch 'master' of https://github.com/jinbesan/tp into UG-Update
jinbesan Apr 10, 2023
f083940
Fix Checkstyle issue
jinbesan Apr 10, 2023
923277b
Update sequence diagrams
randallnhr Apr 10, 2023
d1f5246
Merge pull request #234 from gitsac/master
gitsac Apr 10, 2023
d4a6853
Merge pull request #229 from jinbesan/list_tests
gitsac Apr 10, 2023
4d04159
Merge pull request #235 from randallnhr/master
gitsac Apr 10, 2023
ab14188
Merge branch 'master' of https://github.com/jinbesan/tp into UG-Update
jinbesan Apr 10, 2023
0d1e5bd
Rearrange User Guide
jinbesan Apr 10, 2023
4f8a0e2
Rename category summary command
randallnhr Apr 10, 2023
d1ddd7c
Remove json
randallnhr Apr 10, 2023
019965d
change file name to fasttrack.json, amended preferences
nicleejy Apr 10, 2023
53844dc
Merge pull request #239 from nicleejy/ppp-1.4
nicleejy Apr 10, 2023
36959e1
add new line to eof
nicleejy Apr 10, 2023
8046a4d
Merge pull request #240 from nicleejy/ppp-1.4
nicleejy Apr 10, 2023
2569886
Merge pull request #236 from jinbesan/UG-Update
gitsac Apr 10, 2023
6b27ac0
fix file path issues
nicleejy Apr 10, 2023
d3b0ca6
Merge pull request #241 from nicleejy/ppp-1.4
shirsho-12 Apr 10, 2023
0166af6
Add budget command test
shirsho-12 Apr 10, 2023
0f55ed8
Fix checkstyle
shirsho-12 Apr 10, 2023
30e2e5c
Add component test
shirsho-12 Apr 10, 2023
b05f916
Rename component test
shirsho-12 Apr 10, 2023
adbf14e
updated ppp
nicleejy Apr 10, 2023
7ee3bb9
Update Wen Hong PPP
jinbesan Apr 10, 2023
b3ee837
Modify actions for libgtk
shirsho-12 Apr 10, 2023
e853f79
Fix PPP for checkstyle
jinbesan Apr 10, 2023
bdbc7d6
Merge pull request #242 from jinbesan/Update-PPP
gitsac Apr 10, 2023
c6447ba
Merge pull request #243 from nicleejy/ppp-1.4
gitsac Apr 10, 2023
355b519
Merge pull request #237 from randallnhr/master
gitsac Apr 10, 2023
564821f
Fix linux
shirsho-12 Apr 10, 2023
c6cada8
Revert actions
shirsho-12 Apr 10, 2023
d5994ef
Correct erroneous link in About Us
jinbesan Apr 10, 2023
22cda3f
Fix trailing whitespace
shirsho-12 Apr 10, 2023
1ee5ea0
Ignore Linux for UI tests
shirsho-12 Apr 10, 2023
8350f10
added logo to fasttrack
nicleejy Apr 10, 2023
fc63c09
fix checkstyle errors
nicleejy Apr 10, 2023
b59e2a2
Merge pull request #244 from jinbesan/Update-AboutUs
gitsac Apr 10, 2023
6f5a725
fix checkstyle errors
nicleejy Apr 10, 2023
080be74
Update User Guide to add sumcat command and add warning about dates
jinbesan Apr 10, 2023
c29eefd
Re-add @niceleejy 's UI tests
shirsho-12 Apr 10, 2023
7fa7dcf
Fix checkstyle
shirsho-12 Apr 10, 2023
76cae8f
Update acchitecture diagrams
randallnhr Apr 10, 2023
944184c
Merge pull request #246 from jinbesan/UG-Update
gitsac Apr 10, 2023
3eac35f
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
shirsho-12 Apr 10, 2023
71d4e31
Fix broken tables
jinbesan Apr 10, 2023
7791e54
Merge pull request #245 from nicleejy/ppp-1.4
gitsac Apr 10, 2023
e5837c2
Update architecture diagrams
randallnhr Apr 10, 2023
5472dae
Resolve merge conflict
randallnhr Apr 10, 2023
137bb8e
Add table of content for DG and other changes to DG
gitsac Apr 10, 2023
bc95ea7
Merge pull request #249 from randallnhr/master
gitsac Apr 10, 2023
68ecde6
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 10, 2023
00c0d5c
Merge pull request #248 from jinbesan/UG-Update
gitsac Apr 10, 2023
86abcfb
Export diagrams
randallnhr Apr 10, 2023
e8807dd
Merge pull request #250 from randallnhr/master
gitsac Apr 10, 2023
411bfa1
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
gitsac Apr 10, 2023
81e0ae7
add sumcat image to ug
nicleejy Apr 10, 2023
a281fa4
remove log file
nicleejy Apr 10, 2023
458bcfd
Add sequence diagrams into DG
gitsac Apr 10, 2023
dfbffa0
Merge branch 'master' into master
nicleejy Apr 10, 2023
43738f1
Write PPP
shirsho-12 Apr 10, 2023
48b599e
Merge branch 'master' of https://github.com/shirsho-12/tp
shirsho-12 Apr 10, 2023
9f76149
Fix checkstyle
gitsac Apr 10, 2023
9da13df
remove newline from eof
nicleejy Apr 10, 2023
209d862
Merge remote-tracking branch 'origin/master'
nicleejy Apr 10, 2023
42992a2
Fix more checkstyle
gitsac Apr 10, 2023
5b2ef89
Merge branch 'master' into master
shirsho-12 Apr 10, 2023
cc2bea9
remove newline from eof
nicleejy Apr 10, 2023
7faa7d5
Merge pull request #252 from gitsac/master
gitsac Apr 10, 2023
8051b2a
Fix whitespace
shirsho-12 Apr 10, 2023
a65fb73
Merge branch 'master' of https://github.com/shirsho-12/tp
shirsho-12 Apr 10, 2023
bfd53a9
Merge branch 'master' into master
nicleejy Apr 10, 2023
670bd9b
Fix formatting issue for DG
gitsac Apr 10, 2023
430f034
Merge pull request #251 from nicleejy/master
gitsac Apr 10, 2023
18a19a3
Merge pull request #253 from gitsac/master
gitsac Apr 10, 2023
798a06d
Merge branch 'master' into master
shirsho-12 Apr 10, 2023
2b5fbc5
Fix grammar in user guide
jinbesan Apr 10, 2023
4764ea7
Merge pull request #247 from shirsho-12/master
shirsho-12 Apr 10, 2023
22c8237
Merge branch 'master' into UG-Update
jinbesan Apr 10, 2023
4f7b6ff
Merge pull request #254 from jinbesan/UG-Update
gitsac Apr 10, 2023
b1257c8
Randall PPP
randallnhr Apr 10, 2023
e794b28
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
randallnhr Apr 10, 2023
7dfa326
Randall PPP
randallnhr Apr 10, 2023
276914f
Update UserGuide.md
jinbesan Apr 10, 2023
5907a64
Merge pull request #255 from jinbesan/patch-2
gitsac Apr 10, 2023
12a1dc6
Resolve checkstyle
randallnhr Apr 10, 2023
891153a
Merge pull request #256 from randallnhr/master
gitsac Apr 10, 2023
d4fc853
Update UserGuide.md
jinbesan Apr 10, 2023
198d372
Merge pull request #257 from jinbesan/patch-3
gitsac Apr 10, 2023
4d805f7
Fix AboutUs.md
gitsac Apr 10, 2023
2403a77
Add files via upload
jinbesan Apr 10, 2023
e43cb1c
Merge branch 'master' into master
gitsac Apr 10, 2023
608eac6
Update UserGuide.md
jinbesan Apr 10, 2023
54d886a
Merge pull request #258 from gitsac/master
gitsac Apr 10, 2023
a812449
fix bug in price parser
nicleejy Apr 10, 2023
efe8b58
Update UserGuide.md
jinbesan Apr 10, 2023
d53ff34
Merge branch 'AY2223S2-CS2103T-W09-2:master' into master
jinbesan Apr 10, 2023
f08b9bb
Merge pull request #259 from jinbesan/master
gitsac Apr 10, 2023
c2a9285
Update UserGuide.md
jinbesan Apr 10, 2023
3bd7fc8
fix bug in price parser
nicleejy Apr 10, 2023
0183c9c
Merge pull request #260 from jinbesan/master
gitsac Apr 10, 2023
4c72854
Merge pull request #261 from nicleejy/master
nicleejy Apr 10, 2023
7556e98
fix duplicate category bug
nicleejy Apr 10, 2023
36df75f
update version number
nicleejy Apr 10, 2023
28510c8
Merge pull request #262 from nicleejy/master
gitsac Apr 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 137 additions & 92 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -15,14 +15,16 @@ title: FastTrack User Guide
3. [Purpose of this guide](#purpose-of-this-guide)
4. [How to understand this guide](#understanding-this-guide)
1. [Icons](#icons)
2. [Command Syntax](#command-syntax)
5. [Quick Start and Installation](#quick-start-and-installation)
6. [GUI Walkthrough](#graphical-user-interface-gui-walkthrough)
7. [Features](#features)
1. [Category Features](#category-features)
2. [Expense Features](#expense-features)
3. [General Features](#general-features)
4. [Expense Statistics Feature](#expense-statistics-feature)
1. [Command Syntax](#command-syntax)
2. [Category Features](#category-features)
3. [Expense Features](#expense-features)
1. [One-Time Expenses](#one-time-expenses)
2. [Recurring Expenses](#recurring-expenses)
4. [General Features](#general-features)
5. [Expense Statistics Feature](#expense-statistics-feature)
8. [Saving the data](#saving-the-data)
9. [Editing the data file (For Advanced Users)](#editing-the-data-file)
10. [Frequently Asked Questions](#frequently-asked-questions)
@@ -95,45 +97,13 @@ This provides additional useful information that may help you with using FastTra
This provides some quick and convenient hacks that you can use to optimize your experience with FastTrack.
</div>

## Command Syntax

First-time users may have difficulty understanding the syntax described in the command instructions.

If you are new to using a **Command Line Interface (CLI)**, we recommend reading this brief section before using FastTrack.
Understanding the **CLI** will help you enter commands more efficiently, which can save you time in the long run.

In simple terms, the **Command Line Interface (CLI)** is a way to interact with FastTrack by typing in commands using just one line of text. This means you can add expenses quickly and easily.

Here is a quick guide on how to read the syntax mentioned in the User Guide for using FastTrack's commands.

```
command tag1/ PARAMETER_1 tag2/ PARAMETER_2 [tag3/ PARAMETER_3]
```

| Element | Format | Usage |
|-------------|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| `command` | Name of command <br/> eg. `add`, `find` | Specifies the command to be executed. |
| `tag/` | Prefix for a field, followed by `/` | Specifies which field given input argument is for |
| `PARAMETER` | All capitalized | Specifies user input for field specified by `tag/` |
| `[]` | Square brackets around `tag/` and `PARAMETER` | Indicates that field specified by `tag/` is optional. <br/><br/>If left unspecified, it will be set to a default value. |

For example, the command format for `add`:
```
add c/CATEGORY_NAME n/ITEM_NAME p/PRICE [d/DATE]
```
* `add` is the `command` name.
* `c/`, `n/`, `p/`, `d/` are `tag/`s to denote fields of _category_, _name_, _price_ and _date_ respectively.
* `CATEGORY_NAME`, `ITEM_NAME`, `PRICE`, `DATE` are `PARAMETERS` to be supplied to the aforementioned `tag/`s.
* `[d/DATE]` indicates that the field for the date is optional.

Don't worry if it takes a bit of time to get used to the commands. Once you're familiar with the commands, you'll be able to add expenses quickly and easily.

--------------------------------------------------------------------------------------------------------------------
## Quick start and Installation

1. Ensure you have Java `11` or above installed in your Computer.

2. Download the latest `fastTrack.jar` from [here](https://github.com/AY2223S2-CS2103T-W09-2/tp/releases).
2. Download the latest `fastTrack.jar` [here](https://github.com/AY2223S2-CS2103T-W09-2/tp/releases).

3. Drag the file into a folder you want to use as the _home folder_ for FastTrack.

@@ -188,6 +158,7 @@ command to list recurring expenses.
| Expense Summary Display | A visual display containing expense statistics (Refer to the feature [Expense Statistics](#expense-statistics-feature) below for details. |
| Toolbar | Contains buttons which allow you to access the user guide and exit from the application. |

--------------------------------------------------------------------------------------------------------------------

## Understanding Categories, Expenses, and Recurring Expenses in FastTrack

@@ -255,51 +226,44 @@ The features of FastTrack can be divided into 4 groups, **Category Features**, *

FastTrack offers a variety of commands that you can use to take advantage of its many features. The following tables provide a summary of all the available commands in FastTrack, along with examples on how to use them effectively.

### Category Features Command Summary
## Command Syntax

| Feature | Command Format | Examples |
|----------------------------------------------------|---------------------------------------------|------------------------------------|
| [**List Categories**](#listing-categories-lcat) | `lcat` | `lcat` |
| [**Add Category**](#adding-a-category-addcat) | `addcat c/CATEGORY_NAME s/SUMMARY` | `addcat c/Groceries s/for living` |
| [**Delete Category**](#deleting-a-category-delcat) | `delcat INDEX` | `delcat 1` |
| [**Edit Category**](#editing-a-category-edcat) | `edcat INDEX [c/CATEGORY_NAME] [s/SUMMARY]` | `edcat 1 c/New Name s/New Summary` |
First-time users may have difficulty understanding the syntax described in the command instructions.

If you are new to using a **Command Line Interface (CLI)**, we recommend reading this brief section before using FastTrack.
Understanding the **CLI** will help you enter commands more efficiently, which can save you time in the long run.

### Expense Features Command Summary
In simple terms, the **Command Line Interface (CLI)** is a way to interact with FastTrack by typing in commands using just one line of text. This means you can add expenses quickly and easily.

| Feature | Command Format | Examples |
|----------------------------------------------------------------------|---------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [**List Expenses**](#listing-expenses-list) | `list [c/CATEGORY_NAME] [t/TIMEFRAME]` | `list c/Food t/month` |
| [**Add Expense**](#adding-an-expense-add) | `add c/CATEGORY_NAME n/ITEM_NAME p/PRICE [d/DATE]` | `add c/Food p/20 n/Mac d/14/2/23` |
| [**Delete Expense**](#deleting-an-expense-delete) | `delete INDEX` | `delete 1` |
| [**Edit Expense**](#editing-an-expense-edexp) | `edexp INDEX [c/CATEGORY_NAME] [n/EXPENSE_NAME] [d/DATE] [p/PRICE]` | `edexp 1 c/Food n/Mac d/20/4/23 p/10` |
| [**Find Expense**](#search-for-an-expense-by-keyword-find) | `find KEYWORD [MORE_KEYWORDS]` | `find KFC chicken` |
| [**List Recurring Expense**](#listing-recurring-expenses-lrec) | `lrec` | `lrec` |
| [**Add Recurring Expense**](#adding-a-recurring-expense-addrec) | `addrec c/CATEGORY_NAME n/ITEM_NAME p/PRICE t/INTERVAL sd/START_DATE [ed/END_DATE]` | `addrec c/Shows n/Netflix p/10 t/month sd/10/3/23 ed/10/03/24` |
| [**Delete Recurring Expense**](#deleting-a-recurring-expense-delrec) | `delrec INDEX` | `delrec 1` |
| [**Edit Recurring Expense**](#editing-a-recurring-expense-edrec) | `edrec INDEX [c/CATEGORY_NAME] [n/EXPENSE_NAME] [p/PRICE] [t/INTERVAL] [ed/END_DATE]` | `edrec 1 c/Show n/Disney Plus p/2 t/week ed/10/5/24` |
Here is a quick guide on how to read the syntax mentioned in the User Guide for using FastTrack's commands.

```
command tag1/ PARAMETER_1 tag2/ PARAMETER_2 [tag3/ PARAMETER_3]
```

### General Features Command Summary
| Element | Format | Usage |
|-------------|-----------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `command` | Name of command <br/> eg. `add`, `find` | Specifies the command to be executed. |
| `tag/` | Prefix for a field, followed by `/` | Specifies which field given input argument is for |
| `PARAMETER` | Words that are in UPPERCASE | Specifies user input for field specified by `tag/` <br/><br/>e.g.<br/>In `add c/CATEGORY_NAME`, `CATEGORY_NAME` is a parameter, which the user decides is “groceries”. The final command will be entered as add `c/groceries`. |
| `[]` | Square brackets around `tag/` and `PARAMETER` | Indicates that field specified by `tag/` is optional and may be omitted. <br/><br/>If left unspecified, it will be set to a default value. |

| Feature | Command Format | Examples |
|-----------------------------------------------|----------------|--------------|
| [**Set Budget**](#setting-a-budget-set) | `set p/AMOUNT` | `set p/1000` |
| [**Help**](#viewing-help-help) | `help` | `help` |
| [**Exit program**](#exiting-fasttrack-exit) | `exit` | `exit` |
| [**Clear data**](#clearing-all-entries-clear) | `CLEAR` | `CLEAR` |
For example, the command format for `add`:
```
add c/CATEGORY_NAME n/ITEM_NAME p/PRICE [d/DATE]
```
* `add` is the `command` name.
* `c/`, `n/`, `p/`, `d/` are `tag/`s to denote fields of _category_, _name_, _price_ and _date_ respectively.
* `CATEGORY_NAME`, `ITEM_NAME`, `PRICE`, `DATE` are `PARAMETERS` to be supplied to the aforementioned `tag/`s.
* `[d/DATE]` indicates that the field for the date is optional.

Don't worry if it takes a bit of time to get used to the commands. Once you're familiar with the commands, you'll be able to add expenses quickly and easily.

<div markdown="block" class="alert alert-info">

**:information_source: Information about the command format**<br>

Before diving further into the guide, here are some things to take note about the way we formatted commands for FastTrack in this user guide.
* Words in `UPPER_CASE` are called parameters. These are inputs that need to be supplied by the user.<br>
e.g. in `add c/CATEGORY_NAME`, `CATEGORY_NAME` is a parameter, which the user decides is "groceries". The final command will be entered as `add c/groceries`.

* Items in square brackets are optional.<br>
e.g `p/PRICE [d/DATE]` means the `DATE` parameter is optional, and can be omitted from the command.`p/4.50 d/14/2/2023` can also be used as `p/4.50`.

* Parameters can be in any order.<br>
e.g. if the command specifies `c/CATEGORY_NAME p/PRICE`, `p/PRICE c/CATEGORY_NAME` is also acceptable.
@@ -316,9 +280,33 @@ Before diving further into the guide, here are some things to take note about th
<a href="#top">Back to Top </a>
</p>

# Category Features
--------------------------------------------------------------------------------------------------------------------
# **Category Features**

FastTrack makes it easy for you to keep track of your spending by organizing expenses into categories. A category is like a folder that holds all your expenses that fall under a specific theme. For example, you might have a category called Groceries where you record all purchases from Fairprice or NTUC.

## Listing Categories `lcat`
To create a category in FastTrack, simply give it a name, such as Entertainment or Transportation. You can also add a short text summary to give yourself more context about the category.

FastTrack even has a default Misc category for any expenses that you haven't categorized yet, however, this category is not modifiable or accessible.

<div markdown="block" class="alert alert-info">

**:information_source: Info**<br>
Note that category names in FastTrack are case-insensitive. For example, a category named `Groceries` will be treated as the exact same category as `groceries`.
</div>

### Command Summary

| Feature | Command Format | Examples |
|----------------------------------------------------|---------------------------------------------|------------------------------------|
| [**List Categories**](#listing-categories-lcat) | `lcat` | `lcat` |
| [**Add Category**](#adding-a-category-addcat) | `addcat c/CATEGORY_NAME s/SUMMARY` | `addcat c/Groceries s/for living` |
| [**Delete Category**](#deleting-a-category-delcat) | `delcat INDEX` | `delcat 1` |
| [**Edit Category**](#editing-a-category-edcat) | `edcat INDEX [c/CATEGORY_NAME] [s/SUMMARY]` | `edcat 1 c/New Name s/New Summary` |

--------------------------------------------------------------------------------------------------------------------

## **Listing Categories** `lcat`

Displays the list of categories in FastTrack.

@@ -330,7 +318,7 @@ Format: `lcat`

![FastTrack lcat](images/demo/category/lcat.png)

## Adding a category `addcat`
## **Adding a category** `addcat`

Adds a new category to FastTrack. If a category with the same name already exists, this command will not execute.

@@ -353,7 +341,7 @@ Format: `addcat c/CATEGORY_NAME s/SUMMARY`

![FastTrack addcat](images/demo/category/addcat.png)

## Deleting a category `delcat`
## **Deleting a category** `delcat`

Deletes the category at the specified `INDEX` in the category list.

@@ -383,7 +371,7 @@ If you delete a category that has existing expenses associated with it, those ex

![FastTrack delcat](images/demo/category/delcat.png)

## Editing a category `edcat`
## **Editing a category** `edcat`

Edits the category at the specified `INDEX` in the category list.

@@ -414,9 +402,41 @@ to `INDEX`, otherwise the command will not be executed.
<a href="#top">Back to Top </a>
</p>

# Expense Features
--------------------------------------------------------------------------------------------------------------------

# **Expense Features**
An **expense** is a single purchase that you want to track. Each expense has a _name_, _price_, _category_, and _date_. With FastTrack, you can easily duplicate an expense if you happen to make the same purchase multiple times, such as buying a coffee from CoolSpot every morning on your way to NUS.

Finally, there are **recurring expenses**. These are expenses that are charged on a regular basis, such as a monthly subscription to Netflix or an annual Heroku subscription. Instead of manually creating an expense every time the payment is due, you can set up a recurring expense in FastTrack.
Simply specify the start date, interval (daily, weekly, monthly, yearly), and end date (if applicable), and FastTrack will automatically generate the expenses for you.

### Command Summary
#### One-time Expenses

| Feature | Command Format | Examples |
|----------------------------------------------------------------------|---------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [**List Expenses**](#listing-expenses-list) | `list [c/CATEGORY_NAME] [t/TIMEFRAME]` | `list c/Food t/month` |
| [**Add Expense**](#adding-an-expense-add) | `add c/CATEGORY_NAME n/ITEM_NAME p/PRICE [d/DATE]` | `add c/Food p/20 n/Mac d/14/2/23` |
| [**Delete Expense**](#deleting-an-expense-delete) | `delete INDEX` | `delete 1` |
| [**Edit Expense**](#editing-an-expense-edexp) | `edexp INDEX [c/CATEGORY_NAME] [n/EXPENSE_NAME] [d/DATE] [p/PRICE]` | `edexp 1 c/Food n/Mac d/20/4/23 p/10` |
| [**Find Expense**](#search-for-an-expense-by-keyword-find) | `find KEYWORD [MORE_KEYWORDS]` | `find KFC chicken` |


#### Recurring Expenses
| Feature | Command Format | Example |
|----------------------------------------------------------------------|---------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [**List Recurring Expense**](#listing-recurring-expenses-lrec) | `lrec` | `lrec` |
| [**Add Recurring Expense**](#adding-a-recurring-expense-addrec) | `addrec c/CATEGORY_NAME n/ITEM_NAME p/PRICE t/INTERVAL sd/START_DATE [ed/END_DATE]` | `addrec c/Shows n/Netflix p/10 t/month sd/10/3/23 ed/10/03/24` |
| [**Delete Recurring Expense**](#deleting-a-recurring-expense-delrec) | `delrec INDEX` | `delrec 1` |
| [**Edit Recurring Expense**](#editing-a-recurring-expense-edrec) | `edrec INDEX [c/CATEGORY_NAME] [n/EXPENSE_NAME] [p/PRICE] [t/INTERVAL] [ed/END_DATE]` | `edrec 1 c/Show n/Disney Plus p/2 t/week ed/10/5/24` |

## Listing expenses `list`
--------------------------------------------------------------------------------------------------------------------

## **One-Time Expenses**

--------------------------------------------------------------------------------------------------------------------

## **Listing expenses** `list`

The `list` feature in FastTrack allows you to view all your expenses. You can filter the list based on specific categories and timeframes to get a more customized view of your spending.

@@ -450,19 +470,19 @@ A `TIMEFRAME` allows you to set a specific interval to filter your expenses. `t/

### Demonstration

### List Expenses by Category
### **List Expenses by Category**
1. Enter the command `list c/drink` into the command box
2. FastTrack displays the expenses under the category `Drink` with the confirmation message `2 expenses listed`. The number of expenses may differ for every user.

![FastTrack list1](images/demo/expense/list1.png)

### List All Expenses
### **List All Expenses**
1. Enter the command `list` into the command box
2. FastTrack displays all expenses with the confirmation message `5 expenses listed`. The number of expenses may differ for every user.

![FastTrack list2](images/demo/expense/list2.png)

### List Expenses by Timeframe
### **List Expenses by Timeframe**

1. Enter the command `list t/w` into the command box
2. FastTrack displays all expenses within the current week with the confirmation message `2 expenses listed`. The number of expenses may differ for every user.
@@ -477,7 +497,7 @@ A `TIMEFRAME` allows you to set a specific interval to filter your expenses. `t/
</div>


## Adding an expense `add`
## **Adding an expense** `add`

Adds a new one-time expense to FastTrack.

@@ -507,7 +527,7 @@ Format: `add c/CATEGORY_NAME n/ITEM_NAME p/PRICE [d/DATE]`



## Deleting an expense `delete`
## **Deleting an expense** `delete`

Deletes an expense at the specified `INDEX` in the expense list.

@@ -527,7 +547,7 @@ Format: `delete INDEX`
3. FastTrack deletes the second expense in the expense list with the confirmation message `Deleted expense: Name: milk, Amount: $4.5, Date: 2023-04-07, Category: groceries`.


## Editing an expense `edexp`
## **Editing an expense** `edexp`

Edits the expense at the specified `INDEX` in the expense list.

@@ -557,7 +577,7 @@ to `INDEX`, otherwise the command will not be executed.
![FastTrack edexp1](images/demo/expense/edexp1.png)
![FastTrack edexp2](images/demo/expense/edexp2.png)

## Search for an expense by keyword `find`
## **Search for an expense by keyword** `find`

Find expenses whose names contain any of the given keywords.

@@ -592,7 +612,12 @@ Date: 2023-03-03, Category: Groceries, Name: Milk, Price: $4.00
</p>


## Listing Recurring Expenses `lrec`
--------------------------------------------------------------------------------------------------------------------
## **Recurring Expenses**

--------------------------------------------------------------------------------------------------------------------

## **Listing Recurring Expenses** `lrec`

Displays the list of recurring expenses in FastTrack.

@@ -604,7 +629,7 @@ Format: `lrec`

![FastTrack lrec](images/demo/recurring_expense/lrec.png)

## Adding a Recurring Expense `addrec`
## **Adding a Recurring Expense** `addrec`

Adds a recurring expense to FastTrack.

@@ -660,7 +685,7 @@ For example, if the current date is `3/2/2023` and the `START_DATE` is set to `3

![FastTrack addrec2](images/demo/recurring_expense/addrec2.png)

## Deleting a recurring expense `delrec`
## **Deleting a recurring expense** `delrec`

Deletes an expense category at the specified `INDEX` in the recurring expense list.

@@ -692,7 +717,7 @@ If a recurring expense's end date has already passed, and the current date too i

![FastTrack delrec](images/demo/recurring_expense/delrec.png)

## Editing a recurring expense `edrec`
## **Editing a recurring expense** `edrec`

Edits the expense at the specified `INDEX`

@@ -734,9 +759,26 @@ If you edit the recurring expense to end before the current date, this only prev
<a href="#top">Back to Top </a>
</p>


--------------------------------------------------------------------------------------------------------------------

# General Features

## Setting A Budget `set`

### Command Summary

| Feature | Command Format | Examples |
|-----------------------------------------------|----------------|--------------|
| [**Set Budget**](#setting-a-budget-set) | `set p/AMOUNT` | `set p/1000` |
| [**Help**](#viewing-help-help) | `help` | `help` |
| [**Exit program**](#exiting-fasttrack-exit) | `exit` | `exit` |
| [**Clear data**](#clearing-all-entries-clear) | `CLEAR` | `CLEAR` |



--------------------------------------------------------------------------------------------------------------------

## **Setting A Budget** `set`

Sets a monthly budget for FastTrack. For first-time users of FastTrack, no budget is set and some expense statistics are not updated.

@@ -769,7 +811,7 @@ FastTrack does not allow setting a budget of $0

![FastTrack set](images/demo/general/set.png)

## Category Autocompletion
## **Category Autocompletion**

FastTrack offers a powerful and time-saving feature that autocompletes your category names for you! When you start typing `c/`, FastTrack provides a list of suggested category names as a popup above the command box.
Give it a try and see how much time you can save with this feature!
@@ -819,7 +861,7 @@ If there's any other text in front of `c/`, the autocompletion feature will be d
![FastTrack autocomplete_b2](images/demo/general/autocomplete_b2.png)


## Clearing all entries `CLEAR`
## **Clearing all entries** `CLEAR`

Clears all entries from FastTrack. This command removes all stored expenses, recurring expenses and categories.

@@ -840,15 +882,15 @@ Exercise caution before using this command.

![FastTrack clear](images/demo/general/clear.png)

## Exiting FastTrack `exit`
## **Exiting FastTrack** `exit`

After logging your expenses, you might want to close the application and ensure your data is saved.
This command closes FastTrack and saves the data to the `fastTrack.json` file located on computer's hard disk.

Format: `exit`


## Viewing help `help`
## **Viewing help** `help`

Shows a message explaining how to access the help page, as well as a quick rundown of what commands can be used.

@@ -955,6 +997,9 @@ FastTrack's data are saved as a JSON file `[JAR file location]/data/fastTrack.js
If your changes to the data file makes its format invalid, FastTrack will discard all data and start with an empty data file at the next run.
</div>


--------------------------------------------------------------------------------------------------------------------

# Frequently Asked Questions

**Q**: How do I transfer my data to another Computer?<br>