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-W12-2] CashLeh #11

Open
wants to merge 461 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
461 commits
Select commit Hold shift + click to select a range
406335c
Merge branch 'FindTransaction' into DeveloperGuide
WooKaiNing Oct 25, 2023
0e10abc
Update UserGuide.md
WooKaiNing Oct 25, 2023
57953f4
Start adding budget feature to DG
danielpappa Oct 25, 2023
01c20be
Create class diagram for command
danielpappa Oct 25, 2023
fc7eaad
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 25, 2023
fb768be
Update plantUML diagram for stringTokenizer
mcmc101001 Oct 25, 2023
557b329
Update DG with updated stringTokenizer UML diagram
mcmc101001 Oct 25, 2023
ecfa47f
Fix text-ui-test failing
mcmc101001 Oct 25, 2023
7df05f6
Modify DeveloperGuide.md
WooKaiNing Oct 25, 2023
5e8dd08
Modify FindParser.java
WooKaiNing Oct 25, 2023
0f24ce7
Modify EXPECTED.TXT
WooKaiNing Oct 25, 2023
ade5918
Fix code and Add Javadoc
BenedictChannn Oct 25, 2023
30f1309
Add javadoc for printFinancialStatement method
BenedictChannn Oct 25, 2023
b1e2917
Refactor printStatement code for better presentation of income/expens…
BenedictChannn Oct 25, 2023
66a08dc
Add javadoc for printStatements
BenedictChannn Oct 25, 2023
eebd460
Merge branch 'branch-File-Storage'
BenedictChannn Oct 25, 2023
ee3e588
Merge branch 'AY2324S1-CS2113-W12-2:master' into master
BenedictChannn Oct 25, 2023
efc7003
Merge pull request #52 from WooKaiNing/FindTransaction
mcmc101001 Oct 25, 2023
53afe57
Fix merge conflict
mcmc101001 Oct 25, 2023
a0d9a10
Merge pull request #53 from mcmc101001/branch-update-uml
WooKaiNing Oct 26, 2023
4224cce
Merge remote-tracking branch 'upstream/master'
BenedictChannn Oct 26, 2023
87e93c4
Fix merge conflicts
BenedictChannn Oct 26, 2023
5ea8754
Add FileStorage test
BenedictChannn Oct 26, 2023
9e0391a
Merge pull request #54 from BenedictChannn/master
BenedictChannn Oct 26, 2023
eb86492
Update textuitest
danielpappa Oct 26, 2023
8995f46
Create BudgetHandler sequence Diagram
danielpappa Oct 26, 2023
6bfcf62
Create financial statement sequence diagram
danielpappa Oct 26, 2023
5b9238d
Move commands class diagram
danielpappa Oct 26, 2023
3779bca
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 26, 2023
9cfbcd6
Add assertions to string tokenizer
mcmc101001 Oct 26, 2023
ad79858
Merge branch 'master' into DeveloperGuide
WooKaiNing Oct 27, 2023
7666b31
Add additional assertions into parser class
mcmc101001 Oct 27, 2023
09ddab1
Modify date format displayed to be consistent with the recommended in…
mcmc101001 Oct 27, 2023
9cb7ee8
Refactor date formatting display to UI class as static method
mcmc101001 Oct 27, 2023
f056394
Modify DeveloperGuide
WooKaiNing Oct 27, 2023
21a12f5
Merge pull request #55 from mcmc101001/branch-assert-stringTokenizer
WooKaiNing Oct 27, 2023
6a51357
Merge branch 'master' into DeveloperGuide
WooKaiNing Oct 27, 2023
b5cfcaa
Update sequence diagram
WooKaiNing Oct 28, 2023
ff1b04c
Update EXPECTED.TXT
WooKaiNing Oct 28, 2023
f79bc59
Modify stringTokenizer to avoid use of magic literals
mcmc101001 Oct 29, 2023
27a3e34
Add dynamic spacing for printing of statements and a cap to the descr…
BenedictChannn Oct 29, 2023
6ae7e63
Add sort by date for the statements so that the print will be in orde…
BenedictChannn Oct 29, 2023
84ac84a
Removed unused code and changed EXPECTED.txt
mcmc101001 Oct 29, 2023
a3eba03
Fix magic literals
BenedictChannn Oct 29, 2023
2cd751c
Fix checkstyle
BenedictChannn Oct 29, 2023
80917ab
Refactor code for better abstraction and readability
BenedictChannn Oct 29, 2023
5a86869
Add user guide to exit application
BenedictChannn Oct 29, 2023
839739c
Fix text ui test
danielpappa Oct 30, 2023
0e2c3bb
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 30, 2023
211708a
Refactor code to remove magic strings
WooKaiNing Oct 30, 2023
81509ca
Merge pull request #56 from WooKaiNing/DeveloperGuide
Xuan127 Oct 30, 2023
60b40c3
Add Javadoc to parseCategory
WooKaiNing Oct 30, 2023
e0d5d35
Merge branch 'master' into RefactorCode
WooKaiNing Oct 30, 2023
09641a2
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
Xuan127 Oct 30, 2023
94fee02
Replace magic literals in parser with variable
Xuan127 Oct 30, 2023
5f35b63
Fix code
BenedictChannn Oct 30, 2023
754e9c9
Fix merge conflict
mcmc101001 Oct 30, 2023
65b69d3
Merge branch 'master' into branch-Fix-Code
BenedictChannn Oct 30, 2023
86f7202
Fix merge conflict for ui test
BenedictChannn Oct 30, 2023
6398e5b
Merge pull request #62 from mcmc101001/branch-Magic-Literals
danielpappa Oct 30, 2023
9280e9e
Merge branch 'master' into branch-Fix-Code
BenedictChannn Oct 30, 2023
8d8333e
Merge branch 'branch-Fix-Code' of https://github.com/BenedictChannn/t…
BenedictChannn Oct 30, 2023
5113761
Fix magic literal in CashLeh class
danielpappa Oct 30, 2023
b35c7bd
Fix weird issues
BenedictChannn Oct 30, 2023
30cd6d8
Merge pull request #63 from BenedictChannn/branch-Fix-Code
BenedictChannn Oct 30, 2023
236e4ba
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 30, 2023
59d9b6d
Update UG and DG
Xuan127 Oct 30, 2023
4b577e5
Merge remote-tracking branch 'upstream/master' into V2.0
Xuan127 Oct 30, 2023
fca76fb
Fix Gradle error
Xuan127 Oct 30, 2023
5616013
Edit User Guide
Xuan127 Oct 30, 2023
d210071
Fix ParserTest test cases
Xuan127 Oct 30, 2023
d70a426
Modify output of filter commands for non matching transactions
WooKaiNing Oct 30, 2023
51b5efd
Edit ParserTest test cases
Xuan127 Oct 30, 2023
fc7c2c5
Fixe Gradle issues
Xuan127 Oct 30, 2023
64791a5
Fix Gradle issues
Xuan127 Oct 30, 2023
8fb8f78
Fix Gradle issues
Xuan127 Oct 30, 2023
6edfbc9
Fix Gradle issues
Xuan127 Oct 30, 2023
6e0a0ca
Fix Gradle issues
Xuan127 Oct 31, 2023
60df795
Edit DG and UG
Xuan127 Oct 31, 2023
3194157
Merge branch 'V2.0' of https://github.com/Xuan127/tp into V2.0
Xuan127 Oct 31, 2023
dbeb548
Fix ui-test
Xuan127 Oct 31, 2023
d65c3f3
Merge pull request #64 from Xuan127/V2.0
mcmc101001 Oct 31, 2023
28d077c
Update user guide and UML diagram
mcmc101001 Oct 31, 2023
34e20c3
Update AboutUs.md
mcmc101001 Oct 31, 2023
affb7f2
Fix text ui test
danielpappa Oct 31, 2023
0ce0fbf
Update root README
mcmc101001 Oct 31, 2023
b736d0c
Update DG for File Storage and UG for exit command
BenedictChannn Oct 31, 2023
561196f
Merge branch 'master' into branch-Admin
BenedictChannn Oct 31, 2023
1a79b70
Merge pull request #65 from mcmc101001/branch-improve-UG
BenedictChannn Oct 31, 2023
9f22f4b
Merge branch 'master' into branch-Admin
BenedictChannn Oct 31, 2023
0717dd7
Merge pull request #66 from BenedictChannn/branch-Admin
danielpappa Oct 31, 2023
5b6b13e
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 31, 2023
9deb53e
Create JUnit test for FinancialStatement class
danielpappa Oct 31, 2023
2a9710f
Update JUnit testing for BudgetHandler class
danielpappa Oct 31, 2023
1d40f02
Update FinancialStatementTest
danielpappa Oct 31, 2023
90163e7
Update UserGuide
WooKaiNing Oct 31, 2023
fc54537
Merge branch 'master' into RefactorCode
WooKaiNing Oct 31, 2023
cfa5ed3
Replace magic literals in BudgetHandler and Progress
danielpappa Oct 31, 2023
5f357c9
Follow coding standard to pass checks
danielpappa Oct 31, 2023
7b718d9
Merge branch 'JUnit-Testing' into UG-and-DG
danielpappa Oct 31, 2023
81a0ead
Modify EXPECTED.TXT
WooKaiNing Oct 31, 2023
dcf6f6b
Modify UserGuide and remove repeating variables in Parser
WooKaiNing Oct 31, 2023
d339925
Update BudgetHandler sequence diagram
danielpappa Oct 31, 2023
a01a199
Update BudgetHandler sequence diagram
danielpappa Oct 31, 2023
612a2ff
Update BudgetHandler class diagram
danielpappa Oct 31, 2023
e9d84eb
Update DG
danielpappa Oct 31, 2023
2997545
Fix text ui test
danielpappa Oct 31, 2023
87719cc
Merge branch 'master' into UG-and-DG
danielpappa Oct 31, 2023
0dbaeae
Merge branch 'UG-and-DG' of https://github.com/danielpappa/tp into UG…
danielpappa Oct 31, 2023
7fc231f
Delete file to pass text ui test
danielpappa Oct 31, 2023
44deed6
Change DG
danielpappa Oct 31, 2023
c51568b
Adjust DG
danielpappa Oct 31, 2023
709590f
Modify DG
danielpappa Oct 31, 2023
5a11de0
Temporarily comment tests for check
danielpappa Oct 31, 2023
7d4512c
Comment test temporarily for checks on windows
danielpappa Oct 31, 2023
b99ec46
Merge pull request #67 from WooKaiNing/RefactorCode
danielpappa Oct 31, 2023
dcc4478
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Oct 31, 2023
5de4374
Update DG after github review
danielpappa Nov 1, 2023
711b3bd
Remove unnecessary BudgetHandler test (not working on windows)
danielpappa Nov 1, 2023
2a21f78
Remove unnecessary FinancialStatement test (not working on windows)
danielpappa Nov 1, 2023
f084a45
Update financialStatement to pass test
danielpappa Nov 1, 2023
a37384f
Fix text ui test to pass check
danielpappa Nov 1, 2023
41bb30a
Merge pull request #68 from danielpappa/UG-and-DG
danielpappa Nov 1, 2023
450785c
Remove unnecessary test
danielpappa Nov 1, 2023
026294a
Fix coding standard check
danielpappa Nov 1, 2023
81831c4
Merge pull request #69 from danielpappa/UG-and-DG
mcmc101001 Nov 3, 2023
c8a89e2
Move data folder into gitignore
mcmc101001 Nov 3, 2023
e03222c
Retained data folder with testUser.txt
mcmc101001 Nov 3, 2023
0c92684
Fix various bugs with budget feature
mcmc101001 Nov 3, 2023
8ab6a2d
Add budget persistence to local storage
mcmc101001 Nov 3, 2023
25d2814
Fix text ui test
mcmc101001 Nov 3, 2023
ccc16c7
Merge commit '81831c4a73d0b1508ee74a698e2cbd50d011a1d4'
danielpappa Nov 4, 2023
d3c436a
Fix UG typo to proper file name
danielpappa Nov 4, 2023
3d0e027
Remove unnecessary assertion
danielpappa Nov 4, 2023
48a3983
Adjust CashLeh logo visual formatting
danielpappa Nov 4, 2023
fad9f08
Accept double values when setting a budget with updateBudget
danielpappa Nov 4, 2023
a625981
Add exception call for command deleteBudget with no budget initialised
danielpappa Nov 4, 2023
369210b
Fix bug that causes cli to crash upon blank input
danielpappa Nov 4, 2023
826e652
Remove unused method in FinancialStatement
danielpappa Nov 4, 2023
0064c8d
Adjust text ui testing to changes
danielpappa Nov 4, 2023
e830844
Fix UG typo
danielpappa Nov 4, 2023
f37965a
Remove unnecessary assertion in DeleteBudget
danielpappa Nov 4, 2023
0ac6dbe
Update budgetHandler sequence diagram
danielpappa Nov 4, 2023
da387c2
Update BudgetHandler class diagram
danielpappa Nov 4, 2023
e6fd502
Merge pull request #73 from mcmc101001/branchFileStorage
WooKaiNing Nov 4, 2023
690a8bb
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Nov 5, 2023
67a43ff
Modify date exception message to include call to use valid date
mcmc101001 Nov 5, 2023
797f4f5
Merge branch 'master' into branchPEBugFixes
mcmc101001 Nov 5, 2023
0fb2e25
Modify date exception message
mcmc101001 Nov 5, 2023
46d12dc
Fixed tests and added exceptions to be thrown when negative amount is…
mcmc101001 Nov 5, 2023
fe4845b
Fix typo in UG
danielpappa Nov 5, 2023
ac7806d
Modify user guide to remove clause stating that description cannot co…
mcmc101001 Nov 5, 2023
601cdac
Modify initial user guide link
mcmc101001 Nov 5, 2023
f32dab3
Fix text UI test
mcmc101001 Nov 5, 2023
d3f615e
Merge pull request #107 from danielpappa/PE-D-Bug-Fixing-1
mcmc101001 Nov 6, 2023
f9ec6a0
Fix merge conflicts
mcmc101001 Nov 6, 2023
eb59882
Update DG
mcmc101001 Nov 6, 2023
c1e105b
Fixed typos
mcmc101001 Nov 6, 2023
6bfd2c1
Fix error for description with commas
BenedictChannn Nov 6, 2023
a33ce24
Changed max description length to 40
BenedictChannn Nov 6, 2023
bd2e8ae
Implement max amount allowed per transaction
BenedictChannn Nov 6, 2023
6a0def3
Change max amount to 9999999.99
BenedictChannn Nov 6, 2023
3fb707b
Update readFromFile diagram
BenedictChannn Nov 6, 2023
d104003
Make changes according to review
mcmc101001 Nov 6, 2023
f4f158a
Merge pull request #109 from BenedictChannn/branch-Fix-PED
mcmc101001 Nov 6, 2023
abfe446
Merge master and fixed text ui
mcmc101001 Nov 6, 2023
1334860
Ensure command is case-insensitive in accordance to website guidelines
mcmc101001 Nov 6, 2023
0f2d4bb
Reduce instance of magic literals
mcmc101001 Nov 6, 2023
30454ea
Merge pull request #108 from mcmc101001/branchPEBugFixes
Xuan127 Nov 6, 2023
5bac67e
Merge remote-tracking branch 'upstream/master'
Xuan127 Nov 6, 2023
b58bcec
Edit Command Summary in DG
Xuan127 Nov 6, 2023
38c3187
Edit PUML diagram
Xuan127 Nov 6, 2023
ce17958
Modify Filter methods and update UserGuide
WooKaiNing Nov 6, 2023
89fe8c8
Merge branch 'master' into PEDFixIssues
WooKaiNing Nov 6, 2023
7e7f90b
Fix Checkstyle errors
WooKaiNing Nov 6, 2023
0e1438b
Modify EXPECTED.TXT
WooKaiNing Nov 6, 2023
66b5f2f
Attempt to turn off logger
Xuan127 Nov 6, 2023
2066239
Fix bug relating to ctrl-D
mcmc101001 Nov 6, 2023
82a9e00
Add PPP
mcmc101001 Nov 6, 2023
2f2a492
Merge pull request #110 from WooKaiNing/PEDFixIssues
BenedictChannn Nov 6, 2023
59fac18
Merge remote-tracking branch 'upstream/master' into V2.1
Xuan127 Nov 6, 2023
0ad7518
Fix failed test case
Xuan127 Nov 6, 2023
b070c3d
Fix income and expense description issue
BenedictChannn Nov 6, 2023
4cca17f
Edit user guide
BenedictChannn Nov 6, 2023
84b9c9b
Add PPP
BenedictChannn Nov 6, 2023
83b9819
Fix ui-test issue
BenedictChannn Nov 6, 2023
7a48dc3
Refactor puml path
BenedictChannn Nov 7, 2023
a95c2ea
Fix diagram reference
danielpappa Nov 7, 2023
c94ead0
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Nov 7, 2023
867a713
Merge branch 'PE-D-Bug-Fixing-1'
danielpappa Nov 7, 2023
6467d5c
Merge pull request #111 from mcmc101001/branchPEBugFixes
Xuan127 Nov 7, 2023
ab639f9
Merge remote-tracking branch 'upstream/master' into V2.1
Xuan127 Nov 7, 2023
f22b0a4
Remove additional UML diagrams
danielpappa Nov 7, 2023
b1ebc44
Update comments and refactor BudgetHandler
danielpappa Nov 7, 2023
2d3ef1e
Edit DG
danielpappa Nov 7, 2023
307451e
Edit DG
danielpappa Nov 7, 2023
a507cb3
Edit UG
danielpappa Nov 7, 2023
ffc107f
Add PPP
Xuan127 Nov 7, 2023
b9a3d86
Update budgetHandler_classDiagram
danielpappa Nov 7, 2023
6a045d1
Update budgetHandler_sequenceDiagram
danielpappa Nov 7, 2023
2c340af
Update AboutUs.md
danielpappa Nov 7, 2023
023f405
Create PPP
danielpappa Nov 7, 2023
01e96bc
Fix checks and text ui testing
danielpappa Nov 7, 2023
61f3b43
Add viewBudget example to UG
danielpappa Nov 7, 2023
c4f34d7
Merge branch 'master' into branch-PPP
BenedictChannn Nov 7, 2023
fa0544f
Update AboutUs.md
Xuan127 Nov 7, 2023
3167093
Merge branch 'master' into PPP-Draft
danielpappa Nov 7, 2023
3691a55
Merge pull request #113 from BenedictChannn/branch-PPP
BenedictChannn Nov 7, 2023
de52a3b
Merge remote-tracking branch 'upstream/master' into V2.1
Xuan127 Nov 7, 2023
77e237d
Merge branch 'master' into PPP-Draft
danielpappa Nov 7, 2023
f7e5164
Edit ui-test
Xuan127 Nov 7, 2023
36fa3ed
Merge pull request #112 from Xuan127/V2.1
Xuan127 Nov 7, 2023
bf82329
Merge branch 'master' into PPP-Draft
danielpappa Nov 7, 2023
88c59d2
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Nov 7, 2023
c9d4851
Update AboutUs title
danielpappa Nov 7, 2023
8a2a356
Merge branch 'PPP-Draft' of https://github.com/danielpappa/tp into PP…
danielpappa Nov 7, 2023
f92bf3e
Rename PPP file
danielpappa Nov 8, 2023
f202a74
Fixed mistake on AboutUs
danielpappa Nov 8, 2023
e1222a4
Merge pull request #114 from danielpappa/PPP-Draft
mcmc101001 Nov 8, 2023
cf00be8
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Nov 9, 2023
5bd1b87
Merge branch 'PPP-Draft'
danielpappa Nov 9, 2023
1931f96
Fix mistakes in comments
danielpappa Nov 9, 2023
37ed14b
Add PPP
WooKaiNing Nov 10, 2023
4c2a190
Modify Filter sequence diagram
WooKaiNing Nov 10, 2023
7688737
Modify EXPECTED.TXT
WooKaiNing Nov 10, 2023
d4d323f
Modify FilterSequenceDiagram.puml
WooKaiNing Nov 10, 2023
bded3e7
Recover testUser.txt
WooKaiNing Nov 10, 2023
9d612a7
Recover testUser.txt
WooKaiNing Nov 10, 2023
aee9c09
Update BudgetHandler classDiagram and add coloring
danielpappa Nov 12, 2023
3255b27
Update ViewBudget sequenceDiagram and add coloring
danielpappa Nov 12, 2023
99a0a21
Merge pull request #115 from WooKaiNing/PPP
BenedictChannn Nov 12, 2023
6c36704
Update testUser
danielpappa Nov 12, 2023
0f6962c
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-2/tp …
danielpappa Nov 12, 2023
151d640
Fix text ui test
danielpappa Nov 12, 2023
69f33ac
Remove picture to make it same for everyone
danielpappa Nov 12, 2023
fa6c258
Merge pull request #116 from danielpappa/Refinements
WooKaiNing Nov 13, 2023
55a39f2
Fix logging issue
mcmc101001 Nov 13, 2023
9ed6024
Fix text-ui test
mcmc101001 Nov 13, 2023
570b0c0
Merge pull request #118 from mcmc101001/branch-CleanUpLogging
mcmc101001 Nov 13, 2023
ac5b442
Fix DG typo
mcmc101001 Nov 13, 2023
a40bcda
Merge pull request #119 from mcmc101001/branch-CleanUpLogging
mcmc101001 Nov 13, 2023
031c814
Fix text-ui test
mcmc101001 Nov 13, 2023
a4e32b0
Fix logo formatting
mcmc101001 Nov 13, 2023
3a1c9e0
Merge pull request #120 from mcmc101001/branch-CleanUpLogging
mcmc101001 Nov 13, 2023
def2637
Fix logo formatting
mcmc101001 Nov 13, 2023
2f4a866
Merge pull request #121 from mcmc101001/branch-fix-logo
mcmc101001 Nov 13, 2023
1cac06e
Modify AboutUs.md
WooKaiNing Nov 14, 2023
a8cfce8
Merge branch 'master' into PPP
WooKaiNing Nov 14, 2023
b8b2a04
Modify EXPECTED.TXT
WooKaiNing Nov 14, 2023
90273cf
Merge pull request #122 from WooKaiNing/PPP
BenedictChannn Nov 14, 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
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ src/main/resources/docs/
bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: cashleh.CashLeh

5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("cashleh.CashLeh")
}

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

Expand All @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
Empty file added data/mc/the.txt
Empty file.
4 changes: 4 additions & 0 deletions data/testUser.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[I] Income: Salary (Amount: 2000.0, Date: 31/10/2023)
[I] Income: Bonus (Amount: 500.0, Date: 31/10/2023)
[E] Expense: Groceries (Amount: 100.0, Date: 31/10/2023)
[E] Expense: Utilities (Amount: 150.0, Date: 31/10/2023)
Empty file added data/yuxuan.txt
Empty file.
15 changes: 8 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# 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) | Ming Chun | [Github](https://github.com/mcmc101001) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Shan YuXuan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Daniel Pappalardo | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Benedict Chan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Kai Ning | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
171 changes: 160 additions & 11 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,186 @@

## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
Referred to https://se-education.org/addressbook-level3/DeveloperGuide.html when drafting the DG
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could consider making this an actual link?


## Design & implementation

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
### Architecture

![](./images/architeture.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job on the architecture diagram.


The Architecture Diagram given above explains the high-level design of the App.

The **User** sends command which is processed by Input

**Input**: Receives user input string, processes it and sends to CashLeh main app

**CashLeh**: main app

**UI**: Responsible for the printing onto CLI

**Parser**: Process the input string and calls respective methods

**FileStorage**: Reads data from, and writes data to file

### How the architecture components interact with each other

![](./images/main_example.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Activation bar should not extend past the return arrow.
image

Self invocation requires an activation bar as well.
image

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, from the code it seems like the Command constructor returns before execute() is called? May want to split that up, so that it's not a self-invocation but rather an invocation from the parser.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps choose to showcase the sequence diagram of a command that will show interaction with the 'FileStorage' component as it is included in the architecture diagram. Especially if it is majorly involved in the operation of the app.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Box should be a solid rectangle
Uploading test.png…

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps you might want to add in an activation bar for CashLeh class as well.


The Sequence Diagram above shows how the components interact with each other when the user enters a command

### Budget Handler

![](./images/budget.png)

### String Tokenizer

The String Tokenizer assists in the parsing of user input. It is used to split the user input into a hashmap according to the delimiter/prefix of each command. This allows the developer to more easily customize the commands and add new commands without having to worry about the parsing of the user input.

> **Example**:\
> `addIncome money /amt 1000 /date 2021-10-10` with prefixes array `{"addIncome", "/amt", "/date"}` will be tokenized into a hash map with the following key-value pairs:\

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the date variable, you could specify, what types of date you would accept, only YYYY/MM/DD? or would DD/MM/DD work

> `addIncome: money`\
> `amt: 1000`\
> `date: 2021-10-10`

Delimiters can also be specified as optional by adding ":optional" to the end. This allows the user to omit the prefix when entering the command.

#### Implementation

The tokenize function is implemented by the StringTokenizer class. It takes in the user input and the prefixes array and returns a hashmap of the user input.

![](./images/stringTokenizer.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The return arrow should be dotted.
image

Lifeline should not go past "X"
Screenshot 2023-11-01 at 11 23 11 AM

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good effort in describing the sequence diagram! Perhaps you might want to include the activation bar when the classes are activated, similar to the sequence diagram in the 'transaction filter' section.


**Step 1**\
Check if all necessary prefixes are present in the user input. If not, throw an exception.

**Step 2**\
Generate list of PrefixWithPosition (containing the prefix/delimiter and the position in the string) for the delimiters in the user input

**Step 3**\
Sort the list of PrefixWithPosition by position in order to get the prefixes in the correct order

**Step 4**\
Create a hashmap of the user input by splitting the string using the prefixes' positions and adding the key-value pairs to the hashmap

### Transaction Filter
The filter function assists in filtering both expenses and incomes according to the specified criterion from user's input.

#### Implementation
![](./images/FilterTransaction.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lifeline should not go past "X"
Screenshot 2023-11-01 at 11 23 11 AM

If the Parser object is deleted, why is FilterTransaction still returning to it?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, construction of FindParser may need to look like this instead?
image

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be a dotted line for the lifeline
test

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps, the construction of 'Financial Statement' should also have an activation bar for the constructor as shown below.

image


**Step 1**\
The filterBy() method is called, returning a FindParser object

**Step 2**\
A FilterTransaction object is constructed, with the FindParser object as one of its parameters

**Step 3**\
From the expenseStatement and incomeStatement, the financialStatement is constructed.

**Step 4**\
Execution of the FilterTransaction class calls method findTransaction(), which prints expenses and incomes that match the provided criterion

### File Storage

The FileStorage class in the CashLeh? application facilitates the reading and writing of financial transaction data to and from a file. It simplifies the process of managing user data, making it easily accessible and modifiable through the following methods:

#### Reading Data
![](./images/readFromFile.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does "Data read successfully" need to be inside the alt box corresponding to correct transaction format?


**Step 1**\
The `readFromFile` method checks if the specified file exists. If not, it creates an empty file with the user's name as the file path

**Step 2**\
After ensuring the file exists, the method parses the data by reading each line from the file. It distinguishes between income and expense transactions based on a type identifier

**Step 3**\
For each transaction line, the method validates the format. It checks if essential details like transaction type, description, amount, and date are present. If any information is missing or the format is corrupted, a `CashLehFileCorruptedException` is thrown

**Step 4**\
Valid transactions are used to create `Income` or `Expense` objects, depending on their type. These objects are added to the provided `IncomeStatement` and `ExpenseStatement` to populate the financial data.
Comment on lines +138 to +148

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, the explanations of sequence diagrams throughout your DG are well written and easy to follow.


#### Writing Data
![](./images/writeToFile.png)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return arrows should be dotted

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to also have return arrows for transaction and expense transactions?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really well illustrated loops


**Step 1**\
The `writeToFile` method opens the file corresponding to the user's name and prepares to write the financial data into the file

**Step 2**\
The method iterates over the transactions stored in the `IncomeStatement` and `ExpenseStatement` objects to collect the data

**Step 3**\
For each transaction, the method writes data in a specific format. This includes the type identifier ('I' for income and 'E' for expenses) and transaction details, ensuring structured and organized data for future retrieval

**Step 4**\
If errors occur during the write process, such as file writing issues or issues with regards to obtaining the transaction information, the method throws a `CashLehWriteToFileException`

## Product scope
### Target user profile

{Describe the target user profile}
* CashLeh? is a CLI program
* It is designed to work for a single user
* CashLeh?'s target audience mainly comprises younger working adults and students who have limited incomes and need to
carefully plan out their expenses and account for their earnings

### Value proposition

{Describe the value proposition: what problem does it solve?}
CashLeh? is a financial tracker made specifically for working adults who have just began to earn their first salaries
and wages and might need some support finding the correct spending balance. College students and young workers often
struggle with their countless expenses ranging from rent, utilities, groceries and food, tax etc. CashLeh?, though
very simple and intuitive, is supposed to make the process of financial management seamless for them and help them avoid
unnecessary expenses.

## User Stories

|Version| As a ... | I want to ... | So that I can ...|
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
|Version| As a ... | I want to ... | So that I can ... |
|--------|-------------------|----------------------------------------------------|--------------------------------------------------------------|
|v1.0| new user | see usage instructions | refer to them when I forget how to use the application |
|v1.0| user | be able to add my incomes and earnings | easily manage them and obtain access to an overview |
|v1.0| user | be able to delete my incomes and earnings | correct any mistakes and errors |
|v1.0| user | be able to view the sum of my incomes | be fully aware of my income situation and manage my money |
|v1.0| user | be able to view the list of all incomes | be able to view the entire history of incomes |
|v1.0| user | be able to add my expenses and spendings | easily manage them and obtain access to an overview |
|v1.0| user | be able to delete my expenses and spendings | correct any mistakes and errors |
|v1.0| user | be able to view the sum of my expenses | be fully aware of my expense situation and manage my money |
|v1.0| user | be able to view the list of all expenses | be able to view the entire history of expenses
|v2.0| user | be able to view both incomes and expenses together | have an overview of my net financial situation |
|v2.0| parsimonious user | be able to set an overall budget | have an upper limit for my relative expenses |
|v2.0| user | be able to view my budget | view my financial situation and organise myself |
|v2.0| user | be able to delete my previously set budget | not care about an upper limit or eventually set a new budget |
|v2.0| user | be able to label categories of each income | can know which category the income belongs to |
|v2.0| user | be able to label categories of each expense | can know which category the expense belongs to |
|v2.0| user | be able to filter my transactions | better understand my financial history and easily access information |

## Non-Functional Requirements

{Give non-functional requirements}
1. Should work on any mainstream OS as long as it has Java 11 or above installed.
2. The application should be easy to use for first-time users

## Glossary

* *glossary item* - Definition
* *Mainstream OS*: Windows, Linux, Unix, OS-X

## Instructions for manual testing

{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing}
### Launch and shutdown

#### 1. Initial launch

1. Download the jar file and copy it into an empty folder
2. Open the terminal and run the command `java javac- Cashleh.jar`
3. CashLeh? should launch and you can start interacting with the application

### Refer to user guide for commands

## Proposed implementations of future features

* Create periodic income and expenses (subscription fees, salaty etc.)
* View sum of income and expenses base on specified time range
* Password protection when starting app
* Able to reset password
* More personal information in addition to name (location, age, etc.)
* Tutorial/guide to use the app
* Able to set preferred currency, all transaction to be converted accordingly
* Able to change description, amount, date, and categories of transactions
* Able to view the transaction information in graphs and charts for visualisation
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Duke

{Give product intro here}
CashLeh? is a CLI application mainly supporting working adults and students who struggle with managing finances (ranging from one-time and recurring expenses, to rent, utilities, interest rates and more). It allows them to track both their earnings and spending habits in a seamless way to have a neat overview of their financial situation.

Useful links:
* [User Guide](UserGuide.md)
Expand Down
Loading