Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
2819849
Merge pull request #52 from Yshinprograms/branch-ppp
Yshinprograms Mar 30, 2025
b7d0555
Updated diagram sizes
Yshinprograms Mar 30, 2025
1d2cbc3
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Mar 30, 2025
c4c3f10
Add my infor into AboutUs.md
xiaojielei Mar 30, 2025
66aaffd
Updated the class diagram of saving in DG
xiaojielei Mar 29, 2025
4f197c3
Updated main method to make saving seperate
xiaojielei Mar 29, 2025
d26aac0
Added Saving components into DG
xiaojielei Mar 30, 2025
7cdb24d
Put Saving.png and SavingSequenceDiagram.png into images folder
xiaojielei Mar 30, 2025
5280919
Solved issuein deleteSavings(). Original issue: "delete 2" will delet…
xiaojielei Mar 30, 2025
9975fde
Fixed typo of Saving part in UG
xiaojielei Mar 30, 2025
670a3ef
Added Xiao Jielei's PPP
xiaojielei Mar 30, 2025
acaa0cf
Merge remote-tracking branch 'origin/master'
xiaojielei Mar 30, 2025
09f2afa
Update UG, PPP
hannahtay Mar 30, 2025
4c3beb0
Moved PPP into teams
Yshinprograms Mar 30, 2025
7240abf
Merge pull request #60 from hannahtay/Branch-Docs
hannahtay Mar 31, 2025
919d6f0
Add assertions
hannahtay Mar 31, 2025
092586f
Merge pull request #61 from Yshinprograms/master
Yshinprograms Mar 31, 2025
289a26c
Merge pull request #62 from hannahtay/Branch-refinement
hannahtay Mar 31, 2025
7543b8d
Make format more uniform
hannahtay Mar 31, 2025
775acfd
Merge branch 'master' into master
xiaojielei Mar 31, 2025
6c5210f
Reordered UserGuide
Yshinprograms Mar 31, 2025
fdd8e80
Updated SavingSequenceDiagram.png
xiaojielei Mar 31, 2025
639f3d5
Merge remote-tracking branch 'origin/master'
xiaojielei Mar 31, 2025
283a66c
Updated UG and DG
Yshinprograms Mar 31, 2025
0d3441b
Merge pull request #58 from xiaojielei/master
xiaojielei Mar 31, 2025
0823dcd
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Mar 31, 2025
9b1b773
Merge pull request #64 from Yshinprograms/master
Yshinprograms Mar 31, 2025
dd1952f
Fixed deleting income such that the program does not crash
teokj Mar 31, 2025
e126abe
Merge branch 'master' into Branch-refinement
hannahtay Mar 31, 2025
90ab851
Merge pull request #63 from hannahtay/Branch-refinement
Yshinprograms Apr 1, 2025
24c7318
Refactored code in the Saving packet
xiaojielei Apr 1, 2025
ddff4c9
Refactored code in the Saving packet
xiaojielei Apr 1, 2025
4c192f4
Removed some end of line comments
teokj Apr 1, 2025
4d85b04
debugged refactored code in the Saving packet and moved Jielei's ppp …
xiaojielei Apr 1, 2025
652d971
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 1, 2025
ff4052e
delete runsavings
xiaojielei Apr 1, 2025
4da8627
edited checkstyle
xiaojielei Apr 1, 2025
d976a6b
Merge pull request #66 from teokj/branch-kjweek11
teokj Apr 1, 2025
356e0b1
Edit format
hannahtay Apr 1, 2025
db1f572
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
hannahtay Apr 1, 2025
9193620
Edit minor changes
hannahtay Apr 1, 2025
b311ebe
Merge pull request #69 from hannahtay/Branch-Docs
hannahtay Apr 1, 2025
38b6a25
Refactored code in the Saving packet
xiaojielei Apr 1, 2025
9bba899
debugged refactored code in the Saving packet and moved Jielei's ppp …
xiaojielei Apr 1, 2025
56bc014
delete runsavings
xiaojielei Apr 1, 2025
1b585fd
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 1, 2025
757d942
checkstyle
xiaojielei Apr 1, 2025
e55d772
changed EXPECTED.TXT
xiaojielei Apr 1, 2025
61a240c
changed EXPECTED.TXT back
xiaojielei Apr 1, 2025
c85ed69
edit expected.txt
xiaojielei Apr 1, 2025
84055b6
Added UML Class and Sequence Diagrams into DG, updated UG and draft f…
teokj Apr 1, 2025
af61a71
Merge pull request #73 from teokj/branch-kjUGDG
teokj Apr 2, 2025
dccaa53
changed EXPECTED.TXT back
xiaojielei Apr 2, 2025
2f16298
Deleted debug printing of SavingCommandHandler
xiaojielei Apr 2, 2025
81a574d
Deleted debug printing
xiaojielei Apr 2, 2025
f5d7bd2
Edited and add some saving Juint tests
xiaojielei Apr 2, 2025
ae55410
Edited checkstyle
xiaojielei Apr 2, 2025
2d41796
Deleted unnecessary comment
xiaojielei Apr 2, 2025
8be7e2d
Merge pull request #68 from xiaojielei/master
Yshinprograms Apr 2, 2025
81b2e87
updated DG diagrams
Yshinprograms Apr 2, 2025
06052f8
Merge pull request #74 from Yshinprograms/master
Yshinprograms Apr 2, 2025
9fef693
Edited UML diagrams and edited minor changes to docs
teokj Apr 2, 2025
614af03
Merge pull request #75 from teokj/branch-kjDG
teokj Apr 2, 2025
54b7777
Added saving tests
xiaojielei Apr 3, 2025
7085f81
edited checkstyle
xiaojielei Apr 3, 2025
5b2a476
Edit docs
hannahtay Apr 3, 2025
b70aa93
Merge pull request #77 from xiaojielei/master
xiaojielei Apr 3, 2025
a5ca26d
Resolved merge conflicts
xiaojielei Apr 3, 2025
9b1642c
Merge pull request #78 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
0ddc7e9
Edit UG
hannahtay Apr 3, 2025
649140c
Merge pull request #79 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
f2615c0
Edit according to given comments
hannahtay Apr 3, 2025
634f7eb
Merge pull request #80 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
b453f4f
Edit readme
hannahtay Apr 3, 2025
b5e407a
Merge pull request #81 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
e6da5af
Edit README format
hannahtay Apr 3, 2025
eab3caf
Merge pull request #82 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
749e015
Edited README
teokj Apr 3, 2025
0c4ae08
Edit DG and UG
hannahtay Apr 3, 2025
195e570
Merge pull request #83 from teokj/master
teokj Apr 3, 2025
0c19ef2
Edited README
teokj Apr 3, 2025
c38309c
Merge pull request #84 from teokj/master
teokj Apr 3, 2025
8909389
add alternative considerations for DG
Yshinprograms Apr 3, 2025
10efb9b
Add expenses manual testing in DG
hannahtay Apr 3, 2025
1f03750
Merge pull request #85 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
b2c3aab
Removed code snippets and abstracted into intuitive explanations
Yshinprograms Apr 3, 2025
f35f585
Changed format of README.md
xiaojielei Apr 3, 2025
c6240c8
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 3, 2025
2ffc4a3
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Apr 3, 2025
4578010
Resolve merge conflicts
xiaojielei Apr 3, 2025
b0fa65b
Edit formatting
hannahtay Apr 3, 2025
f23bad3
Update UG
Yshinprograms Apr 3, 2025
f46db07
Merge pull request #87 from hannahtay/Branch-refinement
hannahtay Apr 3, 2025
ae34c65
Merge pull request #86 from xiaojielei/master
xiaojielei Apr 3, 2025
5109fb1
Merge pull request #88 from Yshinprograms/master
Yshinprograms Apr 3, 2025
258d2e7
change jar name
Yshinprograms Apr 3, 2025
658bc75
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Apr 3, 2025
fddc7d8
Merge pull request #89 from Yshinprograms/master
Yshinprograms Apr 3, 2025
c6988d7
deleted code snippt in DG
xiaojielei Apr 3, 2025
4cc92cd
Merge branch 'master' into master
xiaojielei Apr 3, 2025
d71caf2
Merge pull request #90 from xiaojielei/master
xiaojielei Apr 3, 2025
ddce432
Fix PEDBugs
hannahtay Apr 5, 2025
6515a34
Increased font size for Summary class diagram
Yshinprograms Apr 5, 2025
464dbd7
Updated Summary component
Yshinprograms Apr 5, 2025
d6f5ca2
Updated user guide for explaining a special case when using savings g…
xiaojielei Apr 5, 2025
fce7476
Updated Sequence Diagrams for Set and Trigger Alert
Yshinprograms Apr 5, 2025
4517b28
Updated SetAlert sequence diagram
Yshinprograms Apr 5, 2025
97712ee
Removed redundant comments related to Summary, SummaryDisplay, Help a…
Yshinprograms Apr 5, 2025
c7713b2
Slightly edited example usage of delete savings goal command in Savin…
xiaojielei Apr 5, 2025
e6c8cb6
Merge pull request #139 from Yshinprograms/branch-PEDFixes
Yshinprograms Apr 5, 2025
94a6db5
Edited Saving class to make its output the same as the example output…
xiaojielei Apr 5, 2025
e9ba47d
Updated saving tests accordingly
xiaojielei Apr 5, 2025
b4fb7da
Updated SavingsRecord
xiaojielei Apr 5, 2025
67ad89f
Improved testing for FundsAlert
Yshinprograms Apr 5, 2025
204abc6
Fixed Alert and Summary issues:
Yshinprograms Apr 5, 2025
5aa06cc
Improved specificity of NFR
Yshinprograms Apr 5, 2025
83c3d14
Updated manual testing instructions for Summary, SummaryDisplay, Help…
Yshinprograms Apr 5, 2025
83de645
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
Yshinprograms Apr 5, 2025
2b74a9a
Merge pull request #140 from Yshinprograms/branch-PEDFixes
Yshinprograms Apr 5, 2025
19a92b5
Debugged Saving
xiaojielei Apr 5, 2025
805808b
Edited savingCommandHandler to make its outputs be in correct format
xiaojielei Apr 5, 2025
1a674ba
Updated savings junit tests since some methods in saving class changed
xiaojielei Apr 5, 2025
cc0f369
updated UG
xiaojielei Apr 5, 2025
5f571c9
Refactoored savingcommandhandler
xiaojielei Apr 5, 2025
58960b3
changed savings goal update part
xiaojielei Apr 5, 2025
3091445
Merge branch 'master' into master
xiaojielei Apr 5, 2025
a488a75
checkstyle
xiaojielei Apr 5, 2025
1c17731
Merge branch 'master' of https://github.com/xiaojielei/tp
xiaojielei Apr 5, 2025
9fd7019
edited cheeckstyle in saving and savingstests
xiaojielei Apr 5, 2025
8edfbae
checkstyle
xiaojielei Apr 5, 2025
e16c01e
Edited expected.txt
xiaojielei Apr 5, 2025
c3b1344
expected.txt
xiaojielei Apr 5, 2025
f06daa5
expected.txt
xiaojielei Apr 5, 2025
12b5312
edit typos
xiaojielei Apr 5, 2025
bc78874
added viewSavingsGoal() in Saving class
xiaojielei Apr 5, 2025
e569ad9
Merge pull request #141 from xiaojielei/master
xiaojielei Apr 5, 2025
c5b99c0
Renamed runDuke function to execute & added assertions to Alert
Yshinprograms Apr 5, 2025
661329a
Updated README.MD according to the latest version UG
xiaojielei Apr 5, 2025
e2df719
Updated UG and DG without updating diagrams
xiaojielei Apr 5, 2025
9ee1931
Increased number of assertions for Summary, SummaryDisplay, Help and …
Yshinprograms Apr 5, 2025
61b7b35
Merge branch 'master' of https://github.com/hannahtay/tp into Branch-…
hannahtay Apr 5, 2025
7f91322
Merge pull request #142 from hannahtay/Branch-PEDBugs
hannahtay Apr 5, 2025
ff1a4ed
Implemented basic logging in Summary
Yshinprograms Apr 5, 2025
926aed9
Edit UG and PPP
hannahtay Apr 5, 2025
8f8452c
Implemented LoggingConfigurator Class to prevent logging in the CLI
Yshinprograms Apr 5, 2025
0769300
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
Yshinprograms Apr 5, 2025
21a6b05
Improve logging for summary
Yshinprograms Apr 5, 2025
31f83f0
Implement logging for Alerts
Yshinprograms Apr 5, 2025
d70a965
Improved alerts logging
Yshinprograms Apr 5, 2025
ef733ea
Updated checkstyle
Yshinprograms Apr 5, 2025
8cd746c
Merge pull request #144 from Yshinprograms/branch-PEDFixes
Yshinprograms Apr 5, 2025
ca9f771
Added Acknowledgements and Coming Soon features in the UG and DG
Yshinprograms Apr 5, 2025
40743e8
Updated PPP
Yshinprograms Apr 5, 2025
445bab2
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
hannahtay Apr 5, 2025
6a384ae
Add diagrams, edit DG
hannahtay Apr 5, 2025
cc701d5
Edit PPP
hannahtay Apr 5, 2025
171c305
Add links to contents page
hannahtay Apr 5, 2025
edcd3d0
Merge pull request #143 from hannahtay/Branch-Docs
hannahtay Apr 5, 2025
acd6303
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
Yshinprograms Apr 5, 2025
2fcbdf5
Improved PPP
Yshinprograms Apr 5, 2025
55e5156
Merge pull request #145 from Yshinprograms/branch-finalUpdates
Yshinprograms Apr 5, 2025
f9bd544
Embedded links in PPP
Yshinprograms Apr 5, 2025
833e3e4
Merge pull request #146 from Yshinprograms/branch-finalUpdates
Yshinprograms Apr 5, 2025
7bf5a5e
Shortened PPP
Yshinprograms Apr 5, 2025
ae2503e
no message
Yshinprograms Apr 5, 2025
09fd662
Merge branch 'branch-finalUpdates'
Yshinprograms Apr 5, 2025
e034850
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Apr 5, 2025
cffe0cd
Add more JUnit
hannahtay Apr 6, 2025
6c23962
Merge pull request #147 from hannahtay/Branch-JUnit-2
hannahtay Apr 6, 2025
bc106ba
Shortened PPP v2
Yshinprograms Apr 6, 2025
83007ae
Updated Link Embedding
Yshinprograms Apr 6, 2025
c7101a0
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp
Yshinprograms Apr 6, 2025
4038971
Shortened PPP v3
Yshinprograms Apr 6, 2025
93926bf
PPP Shortened to 2 pages
Yshinprograms Apr 6, 2025
dc180e2
Added UML diagrams to PPP
Yshinprograms Apr 6, 2025
76714b5
Improved PPP formatting
Yshinprograms Apr 6, 2025
9be23ed
Readjust size dimensions in PPP
Yshinprograms Apr 6, 2025
9165c8e
Minor style edits to PPP
Yshinprograms Apr 6, 2025
2f9047e
Added in Help documentation
Yshinprograms Apr 6, 2025
c2d3064
Updated UG examples and FundsAlert Logging
Yshinprograms Apr 6, 2025
354655e
Minor edits to UG
Yshinprograms Apr 6, 2025
ff90196
Added testing for newly added MAX_THRESHOLD in alerts
Yshinprograms Apr 6, 2025
2e5b10d
Removed comment from Logger
Yshinprograms Apr 6, 2025
afd8b65
Edited Duke JavaDoc
Yshinprograms Apr 6, 2025
b3fbc61
Fix checkstyle
Yshinprograms Apr 6, 2025
8166d59
Merge pull request #148 from Yshinprograms/master
Yshinprograms Apr 6, 2025
c8341bb
Edited SavingClassDiagram and SavingSequenceDiagram
xiaojielei Apr 6, 2025
bdc4c23
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 6, 2025
868eea5
Edited DG
xiaojielei Apr 6, 2025
3b7059f
Edited UG
xiaojielei Apr 6, 2025
963c68c
Edited DG
xiaojielei Apr 6, 2025
bd61be9
Edited saving class diagram(puml and png)
xiaojielei Apr 6, 2025
f6c3482
Edited saving class diagram(puml and png)
xiaojielei Apr 6, 2025
d05c544
Merge pull request #149 from xiaojielei/master
xiaojielei Apr 6, 2025
8b040ae
Edit DG formatting
hannahtay Apr 6, 2025
621f961
Edit PPP
hannahtay Apr 6, 2025
8592b0f
Merge pull request #151 from hannahtay/Branch-Docs
hannahtay Apr 6, 2025
898e7f1
DG: Remove code snippets
teokj Apr 6, 2025
8fdb015
Merge branch 'master' of https://github.com/AY2425S2-CS2113-T11A-4/tp…
teokj Apr 6, 2025
63e3054
edited checkstyle
teokj Apr 6, 2025
33e57c7
removed assertion from IncomeManager
teokj Apr 6, 2025
532f314
edited test code
teokj Apr 6, 2025
dc2addc
Merge pull request #155 from teokj/branch-kjPEDbugs
teokj Apr 6, 2025
380f258
Edited PPP
teokj Apr 7, 2025
eeddcb1
Merge pull request #156 from teokj/master
teokj Apr 7, 2025
81fde60
Minor updates to UG
Yshinprograms Apr 7, 2025
d7f9dbe
Merge pull request #157 from Yshinprograms/master
Yshinprograms Apr 7, 2025
a6789ee
edited bugs related to incorrect user input
xiaojielei Apr 7, 2025
fbe2c67
Merge pull request #158 from xiaojielei/master
xiaojielei Apr 7, 2025
df923e7
Updated Set Alert Threshold in UG
Yshinprograms Apr 7, 2025
332bdcd
Explanations for the help display appended to the next line
Yshinprograms Apr 7, 2025
f7e3f41
Merge pull request #159 from Yshinprograms/master
Yshinprograms Apr 7, 2025
643cdad
Edited features and docs for saving
xiaojielei Apr 7, 2025
103a404
Edited saving class diagram
xiaojielei Apr 7, 2025
b0b6a2a
Merge branch 'master' into master
xiaojielei Apr 7, 2025
92a8180
changed expected.txt accordingly
xiaojielei Apr 7, 2025
2d5ea1e
edited expected.txt
xiaojielei Apr 7, 2025
138757f
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 7, 2025
ac0a085
Merge pull request #160 from xiaojielei/master
xiaojielei Apr 7, 2025
4a8cfe7
deleted exitSavings and handled more exceptions
xiaojielei Apr 7, 2025
4cda320
Fixed summary call in savings
Yshinprograms Apr 7, 2025
6a51976
Merge pull request #162 from Yshinprograms/master
xiaojielei Apr 7, 2025
e07ea57
deleted savings goal view and handled more exceptions
xiaojielei Apr 7, 2025
d88dc7a
Merge branch 'master' into master
xiaojielei Apr 7, 2025
98f4b36
handled more exceptions
xiaojielei Apr 7, 2025
96620cc
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 7, 2025
1b69e60
Changed format of savingsgoal update
xiaojielei Apr 7, 2025
6d1291e
deleted exitSavings and handled more exceptions
xiaojielei Apr 7, 2025
3540df3
deleted savings goal view and handled more exceptions
xiaojielei Apr 7, 2025
2df8000
handled more exceptions
xiaojielei Apr 7, 2025
b0b1728
Changed format of savingsgoal update
xiaojielei Apr 7, 2025
92eb583
chanegd saving tests
xiaojielei Apr 7, 2025
b529859
Merge remote-tracking branch 'origin/master'
xiaojielei Apr 7, 2025
a5ba3b0
Merge branch 'master' of https://github.com/xiaojielei/tp
xiaojielei Apr 7, 2025
43926e4
chanegd UG
xiaojielei Apr 7, 2025
c1a2d05
chanegd EXPECTED.TXT
xiaojielei Apr 7, 2025
f34bf17
chanegd checkstyle
xiaojielei Apr 7, 2025
709e349
Merge pull request #161 from xiaojielei/master
xiaojielei Apr 7, 2025
2d9a342
eidted
xiaojielei Apr 7, 2025
a9254ce
Merge pull request #163 from xiaojielei/master
xiaojielei Apr 7, 2025
910ffc6
Editede Jielei's PPP
xiaojielei Apr 7, 2025
7d60ce7
Editede Jielei's PPP
xiaojielei Apr 7, 2025
c1e67fd
Editede DG
xiaojielei Apr 7, 2025
84a78af
Editede UG
xiaojielei Apr 7, 2025
c2549be
add javadoc
xiaojielei Apr 8, 2025
d0e5578
Merge pull request #164 from xiaojielei/master
xiaojielei Apr 8, 2025
5edd70d
DG
xiaojielei Apr 8, 2025
30cfb9e
Merge pull request #165 from xiaojielei/master
xiaojielei Apr 8, 2025
dbb4090
PPP
xiaojielei Apr 8, 2025
df32877
Merge pull request #166 from xiaojielei/master
xiaojielei Apr 8, 2025
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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
META-INF/MANIFEST.MF
/text-ui-test/ys-classes/
logs/summary.log
logs/alerts.log
298 changes: 251 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,270 @@
# Duke project template
# Common Cents

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.
Common Cents is a personal finance management application that helps you track your income, expenses, savings, and financial goals. The application provides a command-line interface for managing your finances with features for budget tracking, savings management, and financial alerts.

## Setting up in Intellij
## Features

Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version.
### Financial Management
- **Income Management**: Add, delete, and view income records
- **Expense Management**: Add, delete, and view expense records with categorization
- **Savings Management**: Add, delete, view, and set goals for savings
- **Summary View**: View a comprehensive summary of your financial status
- **Funds Alert System**: Get warnings when your available funds fall below a set threshold

1. **Ensure Intellij JDK 17 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 17 in a previous Intellij project.
1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html).
1. **Verify the setup**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below:
```
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :Duke.main()
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|

What is your name?
```
Type some word and press enter to let the execution proceed to the end.
### Income Management
- **Add Income**:
- `add income <AMOUNT> / <SOURCE>`
- Adds a new income record with the specified amount and source
- Example: `add income 1000 / Salary`
- Note: Amount must be a positive number
- Example output:
```
> add income 2000 / Monthly Salary
Sure! I have added your income:
1. $2000.0 from Monthly Salary
Now you have 1 income(s) in your list.
```

**Warning:** Keep the `src\main\java` folder as the root folder for Java files (i.e., don't rename those folders or move Java files to another folder outside of this folder path), as this is the default location some tools (e.g., Gradle) expect to find Java files.
- **Delete Income**:
- `delete income <INDEX>`
- Deletes an income record at the specified index
- Example: `delete income 1`
- Note: Index starts from 1

## Build automation using Gradle
- **View Income**:
- `view income`
- Lists all income records
- Example: `view income`

* This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the `build.gradle` file).
* If you are new to Gradle, refer to the [Gradle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/gradle.html).
### Expense Management
- **Add Expense**:
- `add expense <AMOUNT> / <SOURCE> / <CATEGORY>`
- Adds a new expense record with the specified amount, source, and category
- Example: `add expense 50 / Lunch / F`
- Note: Categories are F (Food), T (Transport), B (Bills), O (Others)
- Example output:
```
> add expense 50 / Lunch / F
Sure! I have added your expense:
1. [FOOD] $50.0 from Lunch
Now you have 1 expense(s) in your list.
```

## Testing
- **Delete Expense**:
- `delete expense <INDEX>`
- Deletes an expense record at the specified index
- Example: `delete expense 2`
- Note: Index starts from 1

### I/O redirection tests
- **View Expense**:
- `view expense`
- Lists all expense records
- Example: `view expense`

* To run _I/O redirection_ tests (aka _Text UI tests_), navigate to the `text-ui-test` and run the `runtest(.bat/.sh)` script.
### Savings Management
- **Add Savings**:
- `add savings <AMOUNT>`
- Adds a new savings record with the specified amount
- Example: `add savings 200`
- Note: Amount must be a positive number
- Example output:
```
> add savings 500
Sure! I have added your savings:
1. [ ] 500.0
Now you have 1 saving(s) in your list.
```

### JUnit tests
- **Delete Savings**:
- `delete savings <INDEX>`
- Deletes a savings record at the specified index
- Example: `delete savings 1`
- Note: Index starts from 1

* A skeleton JUnit test (`src/test/java/seedu/duke/DukeTest.java`) is provided with this project template.
* If you are new to JUnit, refer to the [JUnit Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/junit.html).
- **View Savings**:
- `view savings`
- Lists all savings records
- Example: `view savings`
- Example output:
```
> view savings
Here are the savings in your list:
1. [Emergency Fund] 500.0
You have 1 saving(s) in total.
Savings Indicator: Good
```

## Checkstyle
- **Set Savings Goal**:
- `savings goal set <AMOUNT> / <DESCRIPTION>`
- Sets a new savings goal for a specific amount
- Example: `savings goal set 1000 / Emergency Fund`
- Example output:
```
> savings goal set 500 / Emergency Fund
I have set your saving goal:
[Emergency Fund] 500.0
```

* A sample CheckStyle rule configuration is provided in this project.
* If you are new to Checkstyle, refer to the [Checkstyle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/checkstyle.html).
- **View Savings Goals**:
- `savings goal view`
- Views all current savings goals
- Example: `savings goal view`

## CI using GitHub Actions
- **Update Savings Goal**:
- `savings goal update <INDEX> / <AMOUNT> / <DESCRIPTION>`
- Updates an existing savings goal
- Example: `savings goal update 1 / 1500 / Vacation Fund`

The project uses [GitHub actions](https://github.com/features/actions) for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR.
- **Delete Savings Goal**:
- `savings goal delete <INDEX>`
- Deletes a savings goal by index
- Example: `savings goal delete 2`

## Documentation
- **Transfer Savings**:
- `transfer savings <FROM_INDEX> <TO_INDEX> <AMOUNT>`
- Transfers a specified amount from one savings record to another
- Example: `transfer savings 1 2 100`

`/docs` folder contains a skeleton version of the project documentation.
### Summary Management
- **View Summary**:
- `view summary`
- Lists all income, expense, and savings records
- Example: `view summary`
- Example output:
```
> view summary
===== FINANCIAL SUMMARY =====
Total Income: $2000.00
Total Expenses: $50.00
Available Funds: $1950.00
Total Savings: $0.00
```

Steps for publishing documentation to the public:
1. If you are using this project template for an individual project, go your fork on GitHub.<br>
If you are using this project template for a team project, go to the team fork on GitHub.
1. Click on the `settings` tab.
1. Scroll down to the `GitHub Pages` section.
1. Set the `source` as `master branch /docs folder`.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.
### Funds Alert System
- **Set Alert Threshold**:
- `alert set <AMOUNT>`
- Sets the warning threshold for low available funds
- Example: `alert set 100`
- Note: Default threshold is $5.00
- Example output:
```
> alert set 100
Alert threshold set to $100.00

> add expense 1900 / New Laptop / O
Sure! I have added your expense:
2. [OTHERS] $1900.0 from New Laptop
Now you have 2 expense(s) in your list.

WARNING: Available funds ($50.00) are below warning threshold ($100.00)
```

### General Commands
- **Help**:
- `help`
- Displays all available commands
- Example: `help`

- **Exit**:
- `bye`
- Exits the application
- Example: `bye`

## Error Handling

### Income Management Errors
- **Negative Income**:
- Input: `add income -100 / Salary`
- Error: "Income must be positive."
- Validation: Checks if income amount is positive

- **Invalid Delete Index**:
- Input: `delete income 999`
- Error: "Invalid index."
- Validation: Checks if index is within valid range

### Expense Management Errors
- **Negative Expense**:
- Input: `add expense -50 / Lunch / F`
- Error: "Expense must be positive."
- Validation: Checks if expense amount is positive

- **Invalid Category**:
- Input: `add expense 50 / Lunch / X`
- Error: "Invalid category! Use: F (Food), T (Transport), B (Bills), O (Others)."
- Validation: Checks if category is one of the valid options

- **Insufficient Funds**:
- Input: `add expense 5000 / Shopping / O` (when available funds are less)
- Error: "Cannot add this expense as it would exceed your available funds. Available balance: $X.XX"
- Validation: Checks if expense exceeds available funds

- **Invalid Format**:
- Input: `add expense 50 Lunch`
- Error: "Invalid format! Use: add expense <AMOUNT> / <SOURCE> / <CATEGORY>"
- Validation: Checks if command follows the correct format

### Savings Management Errors
- **Zero Income for Savings**:
- Input: `add savings 100` (when total income is 0)
- Error: "Income cannot be 0 if wish to add savings."
- Validation: Checks if there is income before adding savings

- **Transfer to Same Record**:
- Input: `transfer savings 1 1 100`
- Error: "Cannot transfer to the same savings record."
- Validation: Checks if source and destination indices are different

- **Insufficient Funds for Transfer**:
- Input: `transfer savings 1 2 1000` (when source has less)
- Error: "Insufficient funds in the source savings."
- Validation: Checks if source has enough funds for transfer

### Funds Alert Errors
- **Negative Threshold**:
- Input: `alert set -10`
- Error: "Warning threshold cannot be negative"
- Validation: Checks if threshold is non-negative

## Command Format

### Parameter Conventions
- `<AMOUNT>`: A positive decimal number (e.g., 100, 50.50)
- `<SOURCE>`: Text describing the source of income/expense
- `<CATEGORY>`: Single letter code for expense categories (F, T, B, O)
- `<INDEX>`: Integer representing the position in a list (starting from 1)
- `<DESCRIPTION>`: Text describing a savings goal

### Command Syntax Rules
- Parameters are separated by forward slashes with spaces (`/`)
- Commands are case-insensitive (e.g., `ADD INCOME` is the same as `add income`)
- Amounts should not include currency symbols

## Command Summary Table

| Command | Format | Description |
|---------|--------|-------------|
| **Income** | | |
| Add Income | `add income <AMOUNT> / <SOURCE>` | Adds a new income record |
| Delete Income | `delete income <INDEX>` | Deletes an income record |
| View Income | `view income` | Lists all income records |
| **Expenses** | | |
| Add Expense | `add expense <AMOUNT> / <SOURCE> / <CATEGORY>` | Adds a new expense record |
| Delete Expense | `delete expense <INDEX>` | Deletes an expense record |
| View Expense | `view expense` | Lists all expense records |
| **Savings** | | |
| Add Savings | `add savings <AMOUNT>` | Adds a new savings record |
| Delete Savings | `delete savings <INDEX>` | Deletes a savings record |
| View Savings | `view savings` | Lists all savings records |
| Set Goal | `savings goal set <AMOUNT> / <DESCRIPTION>` | Sets a new savings goal |
| View Goals | `savings goal view` | Views all savings goals |
| Update Goal | `savings goal update <INDEX> / <AMOUNT> / <DESCRIPTION>` | Updates a savings goal |
| Delete Goal | `savings goal delete <INDEX>` | Deletes a savings goal |
| Transfer | `transfer savings <FROM_INDEX> <TO_INDEX> <AMOUNT>` | Transfers between savings records |
| **Summary** | | |
| View Summary | `view summary` | Shows financial summary |
| **Alerts** | | |
| Set Alert | `alert set <AMOUNT>` | Sets low funds warning threshold |
| **General** | | |
| Help | `help` | Shows available commands |
| Exit | `bye` | Exits the application |
1 change: 1 addition & 0 deletions app.log
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Successfully added income: $1000.0 from food
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
14 changes: 7 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 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) | Hannah Tay Chen Hee | [Github](https://github.com/hannahtay) | [Portfolio](docs/team/hannahtay.md)
![](https://via.placeholder.com/100.png?text=Photo) | Teo Keng Jer | [Github](https://github.com/teokj) | [Portfolio](teokj.md)
![](https://via.placeholder.com/100.png?text=Photo) | Yong Shin | [Github](https://github.com/Yshinprograms) | [Portfolio](docs/team/yshinprograms.md)
![](https://via.placeholder.com/100.png?text=Photo)) | Xiao Jielei | [Github](https://github.com/xiaojielei) | [Portfolio](docs/team/XiaoJielei.md)

Loading