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

[CS2113-T13-4] SuperTracker #41

Open
wants to merge 653 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 229 commits
Commits
Show all changes
653 commits
Select commit Hold shift + click to select a range
7f29385
Merge remote-tracking branch 'upstream/master' into expenditure-comma…
dtaywd Apr 9, 2024
924a88d
Merge pull request #222 from dtaywd/expenditure-command-incorrect-err…
rismm Apr 9, 2024
b04d4c7
Authortags
Apr 9, 2024
f8fda85
Merge pull request #223 from TimothyLKM/master
rismm Apr 9, 2024
240ab63
Add PPP
rismm Apr 9, 2024
3cdc26b
Add clear command
awesomesjh Apr 9, 2024
fa90579
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp …
awesomesjh Apr 9, 2024
41d2e69
Rearrange variables and fix checkstyle
awesomesjh Apr 9, 2024
fd71164
Add tests for clear command
awesomesjh Apr 9, 2024
ebd0966
Update UG
rismm Apr 9, 2024
65c5c32
Add clear command to user guide
awesomesjh Apr 9, 2024
6935319
Add clear command to help
awesomesjh Apr 9, 2024
4092687
Merge pull request #225 from rismm/documentation
awesomesjh Apr 9, 2024
ccebd52
Merge pull request #226 from awesomesjh/add-clear-command
dtaywd Apr 10, 2024
9b61fb8
add PPP
dtaywd Apr 10, 2024
1e54440
add more differentiated ways of handling error for revenue and expend…
dtaywd Apr 10, 2024
809a20a
Merge pull request #230 from dtaywd/PPP
vimalapugazhan Apr 10, 2024
030c676
Merge branch 'master' into transaction-saving
rismm Apr 10, 2024
8f9f4a6
Add file saving after clear command
rismm Apr 10, 2024
eded7a1
Add ProfitCommand
vimalapugazhan Apr 10, 2024
990963e
Merge pull request #231 from rismm/transaction-saving
vimalapugazhan Apr 10, 2024
43da186
Merge branch 'master' into Vimal-ProfitCommand
vimalapugazhan Apr 10, 2024
ce13aff
update ppp with correct link
dtaywd Apr 10, 2024
feff4ac
Fix checkstyle
vimalapugazhan Apr 10, 2024
4b0d9ce
Merge pull request #232 from vimalapugazhan/Vimal-ProfitCommand
TimothyLKM Apr 10, 2024
1b7a89d
add JUnit Test for expenditure and revenue command
dtaywd Apr 10, 2024
8b35643
add Javadocs for JUnit tests
dtaywd Apr 10, 2024
633c019
add javadocs
dtaywd Apr 10, 2024
0da33b9
update test value
dtaywd Apr 10, 2024
f16bf6f
update test value
dtaywd Apr 10, 2024
73b0cb7
Add PPP
awesomesjh Apr 10, 2024
8a9cd2a
Merge pull request #234 from awesomesjh/add-ppp
vimalapugazhan Apr 10, 2024
7afa8ee
update apple to grape
dtaywd Apr 10, 2024
a585ab3
Merge remote-tracking branch 'upstream/master' into JUnit-Exp-rev
dtaywd Apr 10, 2024
14a43fc
Add transactions clear
dtaywd Apr 10, 2024
75d2ebb
Update src/main/java/supertracker/command/ReportCommand.java
awesomesjh Apr 10, 2024
875dbb0
Merge pull request #233 from dtaywd/JUnit-Exp-rev
awesomesjh Apr 10, 2024
62c94df
Update add and remove commands to throw error when quantity is 0
awesomesjh Apr 10, 2024
5fea965
Add JavaDocs for RevenueCommand
vimalapugazhan Apr 10, 2024
c76989e
Update list command
awesomesjh Apr 10, 2024
63ebf9f
Add JavaDocs for DeleteCommand Class
vimalapugazhan Apr 10, 2024
49f45cf
Add JavaDocs for ProfitCommand Class
vimalapugazhan Apr 10, 2024
2fb3450
Add JavaDocs for printProfit, printRevenueExpenditure, deleteCommandS…
vimalapugazhan Apr 10, 2024
56c4c6d
Temp commit
awesomesjh Apr 10, 2024
6e1914e
Add JavaDocs to Revenue Profit and related methods and parseDate, par…
vimalapugazhan Apr 10, 2024
0f1ff6c
Add profit command into UG
vimalapugazhan Apr 10, 2024
c80b608
Merge pull request #235 from vimalapugazhan/Vimal-Java-Docs,UG
dtaywd Apr 10, 2024
eae6e1d
Fix bug in list command
awesomesjh Apr 10, 2024
f5fa12f
Add more list command tests
awesomesjh Apr 10, 2024
d82f7eb
Rearrange imports
awesomesjh Apr 10, 2024
ab0de87
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp …
awesomesjh Apr 10, 2024
53bbbb7
Fix checkstyle
awesomesjh Apr 10, 2024
fa8fd9f
Merge pull request #236 from awesomesjh/fix-list-command
rismm Apr 10, 2024
ba3559f
Start PPP
vimalapugazhan Apr 10, 2024
34f56a3
Merge branch 'master' into Vimal-PPP
vimalapugazhan Apr 10, 2024
340be59
Format PPP
vimalapugazhan Apr 10, 2024
5fe39c6
Timothy-PPP
Apr 10, 2024
2cee474
Merge branch 'master' into Timothy-PPP
Apr 10, 2024
ff61801
Fix Format of PPP
vimalapugazhan Apr 10, 2024
8e59c2c
Refactor exp, rev, profit commands in Parser
awesomesjh Apr 10, 2024
3bf2e44
Merge pull request #237 from TimothyLKM/Timothy-PPP
vimalapugazhan Apr 10, 2024
aba2558
Merge pull request #238 from awesomesjh/refactor-parser
vimalapugazhan Apr 10, 2024
3c90388
Merge branch 'master' into Vimal-PPP
vimalapugazhan Apr 10, 2024
a11ed3c
Update user guide table
awesomesjh Apr 10, 2024
0dac5e9
Change profit to local variable
awesomesjh Apr 10, 2024
d05c3a2
no message
vimalapugazhan Apr 10, 2024
441f25a
Update about us
awesomesjh Apr 10, 2024
0dbfe7d
Add profit command to help
awesomesjh Apr 10, 2024
41774ce
Add Javadocs
awesomesjh Apr 10, 2024
0841778
Rename Timothy's PPP to lower case
Apr 11, 2024
54f97fc
create JUnit for Rename Command
Apr 11, 2024
6212d0b
no message
vimalapugazhan Apr 11, 2024
4e58d64
Merge pull request #242 from vimalapugazhan/Vimal-PPP
rismm Apr 11, 2024
5d2d9f8
Remove closing </p> tags in Javadocs
awesomesjh Apr 11, 2024
622e04d
Merge branch 'master' into add-javadoc
awesomesjh Apr 11, 2024
1ea5592
Fix bug in rename
Apr 11, 2024
1df42b0
Add more JUnit tests for rename command
Apr 11, 2024
5966dfb
Merge branch 'master' into Javadocs
Apr 11, 2024
2b27aee
Change method name
Apr 11, 2024
b107864
Merge pull request #240 from awesomesjh/add-javadoc
TimothyLKM Apr 11, 2024
813cfb2
Merge branch 'master' into Javadocs
Apr 11, 2024
a20cbde
Merge pull request #243 from TimothyLKM/Javadocs
vimalapugazhan Apr 11, 2024
a66e139
Update DG with user stories
rismm Apr 12, 2024
c881b64
Merge pull request #245 from rismm/documentation
TimothyLKM Apr 12, 2024
952252f
Fix rename command if new name already exists in inventory
awesomesjh Apr 12, 2024
d69c521
Merge pull request #246 from awesomesjh/fix-rename-command
TimothyLKM Apr 12, 2024
fc4e57e
add UG
Apr 12, 2024
7fb1e64
Merge branch 'master' into update-ug
Apr 12, 2024
a7d2453
Add JUnit tests for buy and sell commands
awesomesjh Apr 12, 2024
9acd1d7
Merge pull request #247 from awesomesjh/add-buy-sell-test
rismm Apr 12, 2024
d2c035b
various edits
Apr 12, 2024
1eb6ccf
Replace magic numbers
awesomesjh Apr 12, 2024
974cde0
Merge pull request #248 from TimothyLKM/update-ug
rismm Apr 12, 2024
973fa35
Fix checkstyle
awesomesjh Apr 12, 2024
2a6bc4b
Merge pull request #249 from awesomesjh/refactor-parser
awesomesjh Apr 12, 2024
00632c4
Add JUnit for transaction data loading
rismm Apr 12, 2024
d0bedee
Add valid expiry date range to user guide
awesomesjh Apr 12, 2024
dbbf788
Merge pull request #250 from rismm/master
vimalapugazhan Apr 12, 2024
57a5eac
Merge pull request #251 from awesomesjh/modify-ug
vimalapugazhan Apr 12, 2024
b0ae264
Finish my UG
Apr 12, 2024
473be2d
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp
Apr 12, 2024
669e4c3
Merge pull request #252 from TimothyLKM/master
TimothyLKM Apr 13, 2024
4e64d6b
Finished all my UML diagrams
Apr 13, 2024
c5fcd22
Add JUnit for profit command and edit constants in revenue and expedi…
vimalapugazhan Apr 13, 2024
0d0918b
Merge branch 'master' into JUnit-ProfitCommand
vimalapugazhan Apr 13, 2024
9a697bc
Fix JavaDocs RevenueJUnit
vimalapugazhan Apr 13, 2024
39cf0e9
fix checkstyle
vimalapugazhan Apr 13, 2024
cd705b6
Merge pull request #253 from vimalapugazhan/JUnit-ProfitCommand
rismm Apr 13, 2024
f13d3ae
Add javadocs to storage classes
rismm Apr 13, 2024
c9f6d75
Update TransactionStorage.java
rismm Apr 13, 2024
449aed8
Merge pull request #254 from rismm/master
vimalapugazhan Apr 13, 2024
4c6bd31
Fix issue #257
awesomesjh Apr 13, 2024
c1d51c5
Merge pull request #261 from awesomesjh/modify-ug
vimalapugazhan Apr 13, 2024
df2a2a0
Add more details about command format
awesomesjh Apr 13, 2024
fe59147
Change user guide description
awesomesjh Apr 13, 2024
bfcc2df
Update TOC
awesomesjh Apr 13, 2024
4c4bbcb
Update README
awesomesjh Apr 13, 2024
1fbbe5e
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp
Apr 13, 2024
55fa7a0
Merge pull request #262 from awesomesjh/modify-ug
rismm Apr 13, 2024
ee4db75
Fix file saving bugs
rismm Apr 13, 2024
8786c28
Update TransactionStorage.java
rismm Apr 13, 2024
7694cfa
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp
rismm Apr 13, 2024
42dda6c
Finish DG
Apr 13, 2024
2bb881b
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp
Apr 13, 2024
accf53a
remove blank line
Apr 13, 2024
4417b39
Update UG
rismm Apr 13, 2024
ee60478
Update JUnit tests
rismm Apr 13, 2024
2b53d21
Update DG
rismm Apr 13, 2024
0222248
Merge pull request #263 from TimothyLKM/master
rismm Apr 13, 2024
8d70744
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp
rismm Apr 13, 2024
e37e6d9
Update DG
rismm Apr 13, 2024
e9aa160
Update again
rismm Apr 13, 2024
81f62b3
Update again
rismm Apr 13, 2024
f4b3aad
Merge pull request #264 from rismm/master
vimalapugazhan Apr 13, 2024
bd5486d
Update PPP and fix capitalized variable forJUnit test
vimalapugazhan Apr 13, 2024
bc0c1ee
Merge branch 'master' into Update-PPP
vimalapugazhan Apr 13, 2024
bea4cb8
Update remove and sell commands
awesomesjh Apr 13, 2024
b9689d2
Merge pull request #265 from awesomesjh/update-remove-command
rismm Apr 13, 2024
b5ea2b1
fix typo in exp, rev and profit test
dtaywd Apr 14, 2024
99c9817
update ppp
dtaywd Apr 14, 2024
b375131
add reportCommand to the developer guide
dtaywd Apr 14, 2024
1e899e4
Merge branch 'master' into Update-PPP
vimalapugazhan Apr 14, 2024
6b70788
Fix typo
awesomesjh Apr 14, 2024
a7e460b
Add acknowledgements
awesomesjh Apr 14, 2024
cd13279
add expenditure command to developer guide
dtaywd Apr 14, 2024
453d30f
update ppp
dtaywd Apr 14, 2024
7c857cb
Merge pull request #266 from awesomesjh/modify-dg
dtaywd Apr 14, 2024
02c317f
Merge remote-tracking branch 'upstream/master' into dev-guide-update
dtaywd Apr 14, 2024
6588d1b
Merge pull request #267 from dtaywd/dev-guide-update
vimalapugazhan Apr 14, 2024
2a29ea8
DG update for RevenueCommand
vimalapugazhan Apr 14, 2024
cb784f1
Merge branch 'master' into Update-PPP
vimalapugazhan Apr 14, 2024
ede5937
Add architecture diagram
rismm Apr 14, 2024
ad37e80
Add Revenue and Profit UML, Edit return type in other Command UMLs
vimalapugazhan Apr 14, 2024
8680c32
edit profit command in DG
vimalapugazhan Apr 14, 2024
4e59903
Edit PPP
vimalapugazhan Apr 14, 2024
31c266f
Revert Changes
vimalapugazhan Apr 14, 2024
62aea4b
Merge pull request #268 from vimalapugazhan/Update-PPP_DG
awesomesjh Apr 14, 2024
3708c41
update update command uml
dtaywd Apr 14, 2024
bbefc52
Merge branch 'master' into documentation
rismm Apr 14, 2024
1041521
update parameters in update uml
dtaywd Apr 14, 2024
fe25399
Merge pull request #269 from dtaywd/update-update-command-uml
vimalapugazhan Apr 14, 2024
edb9aca
Add appendix in DG
rismm Apr 14, 2024
03d2feb
Add architecture diagram to DG
rismm Apr 14, 2024
fd4f0ad
Add more details to UG
rismm Apr 14, 2024
f57e283
Update DG and UML for Delete.
vimalapugazhan Apr 14, 2024
60bd56f
Merge pull request #270 from rismm/documentation
vimalapugazhan Apr 14, 2024
1d90b02
Merge pull request #271 from vimalapugazhan/Update-DG2
rismm Apr 14, 2024
94b52f1
Refactor clear command
awesomesjh Apr 14, 2024
9d685e2
Add UML diagrams
awesomesjh Apr 14, 2024
bc4e87a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp …
awesomesjh Apr 14, 2024
b657a63
Add clear command to developer guide
awesomesjh Apr 14, 2024
44a71f6
Update sell command and developer guide
awesomesjh Apr 14, 2024
81ce4a6
Add TOC to developer guide
awesomesjh Apr 14, 2024
2a4132b
Merge pull request #272 from awesomesjh/modify-dg
vimalapugazhan Apr 14, 2024
70a949c
Update docs
awesomesjh Apr 14, 2024
ca7c3e4
Fix bugs
awesomesjh Apr 15, 2024
5293bf4
Fix UML diagrams
awesomesjh Apr 15, 2024
a18baa4
Update section headers
awesomesjh Apr 15, 2024
0d6a1cc
Update appendix
awesomesjh Apr 15, 2024
4eba606
Merge pull request #273 from awesomesjh/modify-dg
vimalapugazhan Apr 15, 2024
183fe68
update report command uml
dtaywd Apr 15, 2024
643f149
update dev guide
dtaywd Apr 15, 2024
c53a45d
update report sequence diagram
dtaywd Apr 15, 2024
5b07c77
Add instructions for manual testing
awesomesjh Apr 15, 2024
9e749c2
Merge pull request #274 from dtaywd/uml-update
awesomesjh Apr 15, 2024
cf0e039
Merge pull request #275 from awesomesjh/modify-dg
dtaywd Apr 15, 2024
9c79e39
Add more instructions for manual testing
awesomesjh Apr 15, 2024
8654020
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T13-4/tp …
awesomesjh Apr 15, 2024
ee70e75
Merge pull request #276 from awesomesjh/modify-dg
dtaywd Apr 15, 2024
3f86196
change startDate and endDate to START_DATE and END_DATE
dtaywd Apr 15, 2024
8b4f6e3
fix nd to end
dtaywd Apr 15, 2024
2d47256
Merge pull request #277 from dtaywd/ug-minor-update
awesomesjh Apr 15, 2024
f9d40bb
Fix author tags
awesomesjh Apr 15, 2024
e98af72
Fix author tags
awesomesjh Apr 15, 2024
5e1664d
Replace empty strings with constant
awesomesjh Apr 15, 2024
292fc67
Refactor extractParam
awesomesjh Apr 15, 2024
e52d1eb
Refactor code
awesomesjh Apr 15, 2024
b2d0ba2
Fix sequence diageam for rename command
awesomesjh Apr 15, 2024
038369d
Fix sequence diagram for profit command
awesomesjh Apr 15, 2024
a754c05
Update description for add and remove commands
awesomesjh Apr 15, 2024
076c8dd
Fix bug in remove command description
awesomesjh Apr 15, 2024
664010b
Update PPP
awesomesjh Apr 15, 2024
e917426
Fix UML diagrams
awesomesjh Apr 15, 2024
99b6ab4
Merge pull request #278 from awesomesjh/fix-author-tags
awesomesjh Apr 15, 2024
ccacd34
Fix UML diagrams
awesomesjh Apr 15, 2024
bc46e13
Merge pull request #279 from awesomesjh/modify-dg
awesomesjh Apr 15, 2024
88d889d
Update PPP
awesomesjh Apr 15, 2024
5740316
Merge pull request #280 from awesomesjh/modify-dg
awesomesjh Apr 15, 2024
8dd0281
Update PPP
rismm Apr 15, 2024
f6df7cc
Merge pull request #281 from rismm/master
rismm Apr 15, 2024
259adf1
Fix list command
awesomesjh Apr 15, 2024
f5797c7
Merge pull request #282 from awesomesjh/modify-dg
awesomesjh Apr 15, 2024
176ec7f
Remove spacing after <br> tag
awesomesjh Apr 15, 2024
0c19635
Fix clear command
awesomesjh Apr 15, 2024
b0bfc65
Merge pull request #283 from awesomesjh/modify-dg
awesomesjh Apr 15, 2024
ba91d79
Update PPP
Apr 15, 2024
c3afdc1
Update rename command
rismm Apr 15, 2024
8bab866
Merge pull request #284 from TimothyLKM/master
awesomesjh Apr 15, 2024
cc9515a
Merge pull request #285 from rismm/master
awesomesjh Apr 15, 2024
bbbfea9
Update rename
awesomesjh Apr 15, 2024
8f02ea8
Merge pull request #286 from awesomesjh/update-rename
rismm Apr 15, 2024
e6df12e
Fix report output
awesomesjh Apr 15, 2024
02109a8
Update report test in developer guide
awesomesjh Apr 15, 2024
5d7d7f7
Remove magic literal
awesomesjh Apr 15, 2024
c903a8f
Fix report command test
awesomesjh Apr 15, 2024
703bf3e
Merge pull request #287 from awesomesjh/update-rename
rismm Apr 15, 2024
9660868
Change example for clear command
awesomesjh Apr 15, 2024
ed6a826
Merge pull request #288 from awesomesjh/update-rename
dtaywd Apr 15, 2024
c4d2341
add line break
dtaywd Apr 15, 2024
b0c7b98
Fix class diagrams for exp and rev commands
awesomesjh Apr 15, 2024
4bfe305
Merge pull request #290 from awesomesjh/update-rename
dtaywd Apr 15, 2024
2f1abc5
Merge pull request #289 from dtaywd/dev-guide-line-break
awesomesjh Apr 15, 2024
668b4f8
update dev guide by removing line break
dtaywd Apr 15, 2024
8acb480
Merge branch 'dev-guide-line-break' into dev-guide-update1
dtaywd Apr 15, 2024
ceaa961
Merge pull request #291 from dtaywd/dev-guide-update1
awesomesjh Apr 15, 2024
680d13d
Fix delete command class diagram
awesomesjh Apr 15, 2024
34e1d7e
Merge pull request #292 from awesomesjh/update-rename
rismm Apr 15, 2024
8e2e40d
Update report command sequence diagram
awesomesjh Apr 15, 2024
cb587be
Fix report command sequence diagram
awesomesjh Apr 15, 2024
37cc80c
Merge pull request #293 from awesomesjh/update-rename
awesomesjh Apr 15, 2024
845f5d9
Fix headers
awesomesjh Apr 15, 2024
84bad40
Merge pull request #294 from awesomesjh/update-rename
awesomesjh Apr 15, 2024
baf9183
Add missing commands
awesomesjh Apr 15, 2024
dee0b4b
Rename file paths
awesomesjh Apr 15, 2024
bfbf38a
Merge pull request #295 from awesomesjh/update-rename
rismm Apr 15, 2024
70c32f3
Fix file name
awesomesjh Apr 15, 2024
085ea45
Fix test case
awesomesjh Apr 15, 2024
8e49120
Merge pull request #296 from awesomesjh/update-rename
rismm Apr 15, 2024
bc18242
Realign example
awesomesjh Apr 15, 2024
d25ef9d
Merge pull request #297 from awesomesjh/update-rename
awesomesjh Apr 15, 2024
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
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,10 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT

# Log files
supertracker.log
supertracker.log.lck

# Data files
/data/
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,19 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("supertracker.SuperTracker")
}

shadowJar {
archiveBaseName.set("duke")
archiveBaseName.set("SuperTracker")
archiveClassifier.set("")
}

checkstyle {
toolVersion = '10.2'
}

run{
run {
standardInput = System.in
enableAssertions = true
}
16 changes: 9 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# About us

Display | Name | Github Profile | Portfolio
--------|:----:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)

Display | Name | Github Profile | Portfolio
--------|:-----------------:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | Sim Jing Jie Ryan | [Github](https://github.com/rismm) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Tay Wen Duan David | [Github](https://github.com/dtaywd) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Timothy Lau | [Github](https://github.com/TimothyLKM) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Sim Jun Hong | [Github](https://github.com/awesomesjh) | [Portfolio](docs/team/johndoe.md)
![](team/vimal-face.jpg) | Vimalapugazhan Purushothaman | [Github](https://github.com/vimalapugazhan) | [Portfolio](docs/team/johndoe.md)

244 changes: 243 additions & 1 deletion docs/DeveloperGuide.md

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Duke
# SuperTracker

{Give product intro here}
SuperTracker is a desktop app for managing a supermarket’s inventory,
optimized for use via a Command Line Interface (CLI).

Useful links:
* [User Guide](UserGuide.md)
Expand Down
272 changes: 254 additions & 18 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,278 @@
# User Guide

## Introduction
## SuperTracker

{Give a product intro}
SuperTracker is a desktop app for managing a supermarket's inventory,
optimized for use via a Command Line Interface (CLI).

- [Quick Start](#quick-start)
- [Features](#features-)
- [Create a new item: `new`](#create-a-new-item-new)
- [Delete an item: `delete`](#delete-an-item-delete)
- [Increase quantity: `add`](#increase-quantity-add)
- [Decrease quantity: `remove`](#decrease-quantity-remove)
- [Update an item: `update`](#update-an-item-update)
- [List all items: `list`](#list-all-items-list)
- [Prints report: `report`](#Prints report)
- [Quit the program: `quit`](#quit-the-program-quit)
- [Saving inventory data](#saving-inventory-data)
- [Loading inventory data](#loading-inventory-data)
- [Editing the data file](#editing-the-data-file)

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

## Quick Start

{Give steps to get started quickly}
1. Ensure that you have Java 11 or above installed in your Computer.
2. Download the latest `SuperTracker.jar` from [here](https://github.com/AY2324S2-CS2113-T13-4/tp/releases).
3. Open a command terminal, cd into the folder you put the jar file in, and use the `java -jar SuperTracker.jar` command to run the application.
4. Type the command in the command box and press Enter to execute it.
5. Refer to the [Features](#features-) below for details of each command and its format.

1. Ensure that you have Java 11 or above installed.
1. Down the latest version of `Duke` from [here](http://link.to/duke).
--------------------------------------------------------------------------------------------------------------------

## Features

{Give detailed description of each feature}
> Notes about the command format:
> - Words in uppercase are parameters to be specified by the user
> - e.g. in `add n/NAME q/QUANTITY`, `NAME` and `QUANTITY` are parameters which can be used as `add n/cheese q/100`
> - Items in square brackets are optional
> - e.g. `list [q/] [p/]` can be used as `list q/`, `list p/`, `list` etc.
> - Parameters can be in any order
> - e.g. if the command specifies `n/NAME q/QUANTITY`, `q/QUANTITY n/NAME` is also acceptable
> - Commands that do not take in parameters will ignore any additional parameters input by the user
> - e.g. if the command specifies `quit now`, it will be interpreted as `quit`
> - If the command has multiple of the same parameters, it uses the first occurrence of that parameter
> - e.g. if the command specifies `new n/Milk q/100 p/5 n/Cheese`, it will be interpreted as `new n/Milk q/100 p/5`
> - If any of the compulsory parameters are empty an error is thrown

<br>

### Create a new item: `new`
Create a new item in the inventory

Format: `new n/NAME q/QUANTITY p/PRICE [e/EXPIRY_DATE]`

- `NAME` is case-insensitive
- e.g. `Cheese` will be interpreted as `cheese`
- If `NAME` already exists in the inventory, use the **update** command instead
- `QUANTITY` must be a non-negative integer
- e.g. 1, 10, 100
- `PRICE` must be a non-negative integer or decimal number
- e.g. 1, 0.20, 12.3, 12.345
- If the `PRICE` given has more than 2 decimal places, it will be rounded off to the nearest 2 decimal places
- e.g. 12.345 ≈ 12.35
- `EXPIRY_DATE` must be a valid non-negative date in the format of `dd-mm-yyyy`
- e.g. 05-10-2054, 16-07-2245

Example: `new n/Milk q/100 p/5` `new n/Banana p/1.23 q/50 e/15-06-2113`
```
Milk has been added to the inventory!
Quantity: 100
Price: $5.00
```
```
Banana has been added to the inventory!
Quantity: 50
Price: $1.23
Expiry Date: 15/06/2113
```

<br>

### Delete an item: `delete`
Delete an item from the inventory

Format: `delete n/NAME`
- `NAME` is case-insensitive
- e.g. `Cheese` will be interpreted as `cheese`
- If `NAME` does not exist in the inventory, an error would be thrown

Example: `delete n/Milk`
```
Milk has been deleted!
```

<br>

### Increase quantity: `add`
Increase the quantity of an item

Format: `add n/NAME q/QUANTITY`
- `NAME` is case-insensitive
- e.g. `Cheese` will be interpreted as `cheese`
- If `NAME` does not exist in the inventory, an error would be thrown
- `QUANTITY` must be a non-negative integer
- e.g. 1, 10, 100

Example: `add n/Milk q/10`
```
10 Milk added to inventory!
Quantity: 110
```

<br>

### Decrease quantity: `remove`
Decrease the quantity of an item

Format: `remove n/NAME q/QUANTITY`
- `NAME` is case-insensitive
- e.g. `Cheese` will be interpreted as `cheese`
- If `NAME` does not exist in the inventory, an error would be thrown
- `QUANTITY` must be a non-negative integer
- e.g. 1, 10, 100
- If `QUANTITY` exceeds the current quantity of the item, the new quantity would be set to 0

Example: `remove n/Milk q/10`
```
10 Milk removed from inventory!
Quantity: 90
```

<br>

### Adding a todo: `todo`
Adds a new item to the list of todo items.
### Update an item: `update`
Update the quantity and/or price of an item

Format: `todo n/TODO_NAME d/DEADLINE`
Format: `update n/NAME [q/NEW_QUANTITY] [p/NEW_PRICE] [e/NEW_EXPIRY_DATE]`
- `NAME` is case-insensitive
- e.g. `Cheese` will be interpreted as `cheese`
- If `NAME` does not exist in the inventory, an error would be thrown
- `NEW_QUANTITY` must be a non-negative integer
- e.g. 1, 10, 100
- `NEW_PRICE` must be a non-negative integer or decimal number
- e.g. 1, 0.20, 12.3, 12.345
- If the `NEW_PRICE` given has more than 2 decimal places, it will be rounded off to the nearest 2 decimal places
- e.g. 12.345 ≈ 12.35
- `NEW_EXPIRY_DATE` must be a valid non-negative date in the format of `dd-mm-yyyy`
- e.g. 05-10-2054, 16-07-2245
- At least one of the optional parameters must be present

* The `DEADLINE` can be in a natural language format.
* The `TODO_NAME` cannot contain punctuation.
Example: `update n/Milk q/200 p/10 e/15-06-2113`
```
Milk has been successfully updated!
Quantity: 200
Price: $10.00
Expiry Date: 15/06/2113
```

Example of usage:
<br>

`todo n/Write the rest of the User Guide d/next week`
### List all items: `list`
List all unique items in the inventory.
Output will be printed to the terminal and each row will contain the name of each item.

`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`
Format: `list [q/] [p/] [e/] [sq/] [sp/] [se/] [r/]`
- `q/` will list the quantity of each item in each row
- `p/` will list the price of each item in each row
- `e/` will list the expiry date of each item in each row if it contains a valid expiry date
- In each row, quantity, price and expiry date will be printed in the same order as the flags
- e.g. if the command specifies `list p/ q/ e/`, the quantity will be printed first followed by price and lastly expiry date
- `sq/` will list the items in order of ascending quantity
- `sp/` will list the items in order of ascending price
- `se/` will list the items in order of ascending date and items with no date are displayed at the bottom
- If the command has multiple sorting parameters, the list will be sorted according to the first sorting parameter
- e.g. if the command specifies `list sq/ sp/ se/`, list will be sorted in order of ascending quantity
- If the command has no sorting parameters, the list will be sorted in ascending alphabetical order (A-Z) by default
- `r/` will reverse the order of the list

Example: `list q/ p/ e/ sp/ r/`
```
There are 3 unique items in your inventory:
1. Name: Milk Quantity: 100 Price: $5.00
2. Name: Juice Quantity: 300 Price: $4.00 Expiry Date: 12/03/2025
3. Name: Cheese Quantity: 200 Price: $3.00
```

<br>

### Prints report: `report`
Lists all items that match the requirements of the report.

There are 2 types of reports in this iteration:
1. **low stock** - lists all stocks that are below a specified threshold that the user provides
2. **expiry** - lists all stocks that are within a week of expiring or has already expired

Output will be printed to the terminal and each row will contain the name of each item.
If the report type is **low stock**, the current quantity for each item would be listed and if the report type is
**expiry**, the expiry date for each item would be listed as well.

Format: `report r/REPORT_TYPE [t/THRESHOLD_VALUE]`
- `r/` parameter that specifies the type of report. e.g. **low stock** or **expiry**
- `t/` parameter that specifies the threshold value to be compared to for **low stock report**.
All items below the threshold value would be listed out.

**Note**: If report type is **low stock** threshold value must be **included**. However, if report type is **expiry**
threshold value must be **excluded**.

Example: `report r/low stock` `report r/expiry`
```
There are 3 items low on stocks!
1. Name: orange
Current Quantity: 10
2. Name: banana
Current Quantity: 30
3. Name: apple
Current Quantity: 20
```
```
There are 2 items close to expiry!
1. Name: orange
Expiry Date: 08-04-2024
2. Name: apple
Expiry Date: 12-12-2016
```

<br>

### Quit the program: `quit`
Quits the program

Format: `quit`

<br>

### Saving inventory data
Inventory data in the program is saved to the hard disk in the file path `./data/` in the same directory that
the `SuperTracker.jar` file is in. Data will be saved automatically after any command that changes the item data in the inventory.

<br>

### Loading inventory data
Data that has been saved to the hard disk will be loaded and read by the program each time it is launched.
If there is no data file, the program will the loading process.

<br>

### Editing the data file
Inventory data of the `SuperTracker` program is stored in a text file `items.txt` in the path `./data/` relative to
the directory the `SuperTracker.jar` file is in. Users can edit and update the inventory data directly through the data file
if they would like to do so.
> Note: Edit the data file at your own caution. If the changes made to the data file are in an invalid format, the program
> will ignore those changes on its next load. The changes will be erased on the next automatic save, so do keep a backup of the data
> file before editing.

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

## FAQ

**Q**: How do I transfer my data to another computer?

**A**: {your answer here}
**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 SuperTracker inventory

## Command Summary
--------------------------------------------------------------------------------------------------------------------

{Give a 'cheat sheet' of commands here}
## Command Summary

* Add todo `todo n/TODO_NAME d/DEADLINE`
Action | Format | Examples
--------|--------------------------------------------------------------------|---------------
**New** | `new n/NAME q/QUANTITY p/PRICE e/EXPIRY_DATE` | e.g. `new n/Milk q/100 p/5 e/05-12-2113`
**Delete**| `delete n/NAME` | e.g. `delete n/Milk`
**Add**| `add n/NAME q/QUANTITY` | e.g. `add n/Milk q/10`
**Remove**| `remove n/NAME q/QUANTITY` | e.g. `remove n/Milk q/10`
**Update**| `update n/NAME [q/NEW_QUANTITY] [p/NEW_PRICE] [e/NEW_EXPIRY_DATE]` | e.g. `update n/Milk q/200 p/10 e/05-08-2113`
**List**| `list [q/] [p/] [e/] [sq/] [sp/] [se/] [r/]` | e.g. `list q/ p/ sp/ r/`
**Report**| `report r/REPORT_TYPE [t/THRESHOLD_VALUE]` | e.g. `report r/low stock t/10`
**Quit**| `quit` | e.g. `quit`
Binary file added docs/team/vimal-face.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading