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-T15-2] BudgetBuddy #46

Open
wants to merge 556 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
556 commits
Select commit Hold shift + click to select a range
c975653
Merge pull request #75 from ShyamKrishna33/user-guide
ShyamKrishna33 Apr 3, 2024
3a9920e
Merge branch 'master' into branch-improvement
Vavinan Apr 3, 2024
693814f
Merge pull request #76 from Vavinan/branch-improvement
Vavinan Apr 3, 2024
1ae297e
Combine print and get PastWeek and PastMonth methods together
isaaceng7 Apr 3, 2024
e02c5fa
Update User-guide to provide more details about available features
Vavinan Apr 3, 2024
8af18f7
Merge pull request #77 from isaaceng7/fix-code-review
isaaceng7 Apr 3, 2024
f298259
Merge branch 'master' into branch-user-guide
Vavinan Apr 3, 2024
1c1b93e
Merge branch 'master' into update-user-guide
vibes-863 Apr 3, 2024
17bae78
Update formating of UG
vibes-863 Apr 3, 2024
cc8570f
Merge pull request #78 from Vavinan/branch-user-guide
Vavinan Apr 3, 2024
71c3c82
Merge pull request #79 from vibes-863/update-user-guide
vibes-863 Apr 3, 2024
9f04522
Refactor the exception handling to provide more information
Vavinan Apr 3, 2024
6820232
Refactor: Remove unnecessary exception handling in delete command
Vavinan Apr 3, 2024
3f8f544
Refactor: Rename function parseTransactionType to parseEditTransaction
Vavinan Apr 3, 2024
70a1129
Merge pull request #80 from Vavinan/43-exception-handling
Vavinan Apr 3, 2024
db104c8
Merge branch 'master' into developer-guide
Vavinan Apr 4, 2024
a222239
Update Developer guide
Vavinan Apr 4, 2024
886bcfb
Merge pull request #81 from Vavinan/developer-guide
Vavinan Apr 4, 2024
1966121
Update List feature in DG with sequence diagram
isaaceng7 Apr 4, 2024
d9b01e6
Merge pull request #82 from isaaceng7/update-developer-guide
isaaceng7 Apr 4, 2024
a466baa
Merge branch 'master' into update-developers-guide
vibes-863 Apr 4, 2024
961fbc9
Add addAccountDiagram to uml folder
vibes-863 Apr 4, 2024
17723d2
Update DevelopeGuide to include Add Account in Design & implementation
vibes-863 Apr 4, 2024
d537ee2
Merge branch 'master' into developer-guide
Apr 4, 2024
672065c
Create sequence diagram for addTransaction feature.
Apr 4, 2024
0fdcd11
Update processTransaction section of DG.
Apr 4, 2024
3519839
Merge pull request #84 from ShyamKrishna33/developer-guide
ShyamKrishna33 Apr 4, 2024
5c88506
Merge branch 'master' into update-developers-guide
vibes-863 Apr 4, 2024
9d2994b
Merge pull request #83 from vibes-863/update-developers-guide
vibes-863 Apr 4, 2024
3407736
Resolve: Close insights window before program exit
Vavinan Apr 8, 2024
c371f00
Include author tags
Vavinan Apr 8, 2024
078fbed
Merge pull request #125 from Vavinan/97-close-insights-window-before-…
Vavinan Apr 8, 2024
4d2fa61
Add: Search feature to search for transactions using a keyword
Vavinan Apr 8, 2024
2557351
Create InvalidCategoryException
Apr 8, 2024
3d82989
Update printSearchResults to print output in a table format
Vavinan Apr 8, 2024
2217af4
Create printInvalidCategoryError method in UserInterface.java
Apr 8, 2024
86ef423
Throw InvalidCategoryException on appropriate methods
Apr 8, 2024
eaffaad
Merge pull request #127 from Vavinan/120-add-feature-search
Vavinan Apr 8, 2024
cf8289d
Edit Category notation in UI and enhance visuals of borders
Vavinan Apr 9, 2024
f485959
Merge pull request #128 from Vavinan/122-format-help-command
Vavinan Apr 9, 2024
a63a23f
Enhance list feature to view transactions by account
isaaceng7 Apr 9, 2024
7911c51
Enhance list feature to view by category
isaaceng7 Apr 9, 2024
62cbf18
Fix failed checks
isaaceng7 Apr 9, 2024
7310ed8
Prompt user to enter category in Parser.java
Apr 9, 2024
92d6209
Fix checkstyle errors
Apr 9, 2024
28bafe6
Merge pull request #130 from isaaceng7/129-add-list-enhancement
ShyamKrishna33 Apr 9, 2024
db4356e
Merge branch 'master' into 119-invalid-category-input
Apr 9, 2024
fd96336
Import Category class in TransactionList.java
Apr 9, 2024
ef3c58f
Fix checkstyle errors
Apr 9, 2024
e649c85
Change test case testFromNumber to test exception thrown
Apr 9, 2024
f0974ac
Replace * imports with single class imports
Apr 9, 2024
0f0042d
Merge pull request #131 from ShyamKrishna33/119-invalid-category-input
ShyamKrishna33 Apr 9, 2024
d7c5725
Fix formatting of list feature in ug
isaaceng7 Apr 9, 2024
e1e4b93
Format list ug
isaaceng7 Apr 9, 2024
d5bd47d
Format add feature in ug
isaaceng7 Apr 9, 2024
ab733ae
Add pictures in ug
isaaceng7 Apr 9, 2024
e80f195
Merge pull request #132 from isaaceng7/ug-fix
isaaceng7 Apr 9, 2024
a63260a
Add colon to UserInterface and TransactionManager in list feature in dg
isaaceng7 Apr 9, 2024
9b96e86
Refactor: Allow input commands to be case-insensitive
Vavinan Apr 9, 2024
afcca05
Update UML sequence diagram for list feature
isaaceng7 Apr 9, 2024
70c05af
Update list feature design and implementation dg
isaaceng7 Apr 9, 2024
4c6cd7c
Merge pull request #133 from Vavinan/102-allow-command-variation
Vavinan Apr 9, 2024
5249a66
Merge pull request #134 from isaaceng7/93-fix-dg-list
isaaceng7 Apr 9, 2024
f9c1ce4
Throw exception when negative amount
Apr 10, 2024
c6267a5
Replace * imports with single class imports
Apr 10, 2024
0486506
Create method getInitialAccountName in UserInterface.java
Apr 10, 2024
938fc78
Create method getInitialAccountBalance in UserInterface.java
Apr 10, 2024
84718fc
Call getInitialAccountName and getInitialAccountBalance methods from …
Apr 10, 2024
e3d1a03
Merge pull request #135 from ShyamKrishna33/107-negative-income-amount
ShyamKrishna33 Apr 10, 2024
10bcf12
Merge pull request #136 from ShyamKrishna33/116-invalid-initial-balance
ShyamKrishna33 Apr 10, 2024
a3f3312
Update UML diagram for removeTransaction
Vavinan Apr 10, 2024
c1248ab
Merge branch 'master' into 85-fix-dg-remove
Vavinan Apr 10, 2024
44ac6de
Merge pull request #137 from Vavinan/85-fix-dg-remove
Vavinan Apr 10, 2024
e724b0d
Update PPP
vibes-863 Apr 11, 2024
92664c6
Update AboutUs.md
vibes-863 Apr 11, 2024
6023ea2
Merge pull request #138 from vibes-863/PPP-vibes
vibes-863 Apr 11, 2024
ab7e09a
Update DG for removeTransaction and processEditTransaction
Vavinan Apr 11, 2024
ac39076
Merge branch 'master' into fix-dg-edit-and-remove
Vavinan Apr 11, 2024
ec4b238
Merge pull request #139 from Vavinan/fix-dg-edit-and-remove
Vavinan Apr 11, 2024
b5bd383
Fix list command for input
isaaceng7 Apr 11, 2024
70a0e08
Update PPP
Apr 11, 2024
8d4387d
Merge pull request #140 from isaaceng7/105-fix-list-command
isaaceng7 Apr 11, 2024
2108f1e
Merge pull request #141 from ShyamKrishna33/PPP
ShyamKrishna33 Apr 11, 2024
a7cee9b
Rename PPP to github username
isaaceng7 Apr 11, 2024
d7e562c
Update PPP
isaaceng7 Apr 11, 2024
d3a5bc5
rename Shyam PPP
isaaceng7 Apr 11, 2024
be08387
rename vavinan PPP
isaaceng7 Apr 11, 2024
312d9c6
Update PPP to include summary about edit and delete transactions
Vavinan Apr 11, 2024
e32fd91
Refactor: Rename PPP to github username
Vavinan Apr 11, 2024
0bfdb47
Merge pull request #142 from isaaceng7/update-ppp
isaaceng7 Apr 11, 2024
199cd1b
Update PPP to include deatils about documentation and RepoSense link
Vavinan Apr 11, 2024
7f19bc0
Merge branch 'master' into branch-ppp
Vavinan Apr 11, 2024
0e7c0d9
Remove conflict identifier from the prior merge conflict
Vavinan Apr 11, 2024
f5f070e
Merge pull request #143 from Vavinan/branch-ppp
Vavinan Apr 11, 2024
7e82956
Implement puml diagram for Insight class
Vavinan Apr 12, 2024
eba4354
Update DG about Insight
Vavinan Apr 12, 2024
70a4cfe
Update PPP about implementation details
Vavinan Apr 12, 2024
1aad93e
Remove unwanted underscore from puml code
Vavinan Apr 12, 2024
ea50a58
Update puml class diagram to follow standards
Vavinan Apr 12, 2024
30e6312
Merge pull request #144 from Vavinan/95-different-uml-diagrams
Vavinan Apr 12, 2024
c62aba9
Merge branch 'master' into developer-guide
Apr 13, 2024
ac72d66
Add exeption handling to readAccountFile method in DataStorage class
vibes-863 Apr 13, 2024
5da6d9c
Merge pull request #145 from vibes-863/fix-accountfile-reading
vibes-863 Apr 13, 2024
4299149
Add newline read handling to DataStorage class
vibes-863 Apr 13, 2024
95230bf
Handle duplicate account number while reading account file
vibes-863 Apr 13, 2024
f1280fe
Handle case where transaction refers to non-existing account
vibes-863 Apr 13, 2024
e84fa85
Update JUnit tests to match code updation
vibes-863 Apr 13, 2024
a9d1dd7
Merge pull request #146 from vibes-863/101-new-line-account-file
vibes-863 Apr 14, 2024
fb607ed
Merge pull request #147 from vibes-863/108-account-no-repeated
vibes-863 Apr 14, 2024
122523d
Merge branch 'master' into 111-unable-delete-transaction
vibes-863 Apr 14, 2024
5be9d14
Merge pull request #148 from vibes-863/111-unable-delete-transaction
vibes-863 Apr 14, 2024
dcc2f9c
Add JUnit test for list account and category
isaaceng7 Apr 14, 2024
43b4335
Update list by account output text
isaaceng7 Apr 14, 2024
2406ad3
Remove unused import
isaaceng7 Apr 14, 2024
ef65b79
Merge pull request #149 from isaaceng7/junit-list-feature
isaaceng7 Apr 14, 2024
15a57e2
Create AccountTest class
vibes-863 Apr 14, 2024
bdaa92b
Add JUnit Test cases to AccountTest class
vibes-863 Apr 14, 2024
b2b387f
Create AccountManagerTest class
vibes-863 Apr 14, 2024
6a222f3
Add JUnit Test cases to AccountManagerTest class
vibes-863 Apr 14, 2024
cc966f0
Create IncomeTest class
vibes-863 Apr 14, 2024
756af17
Add JUnit Test cases to IncomeTest class
vibes-863 Apr 14, 2024
a180c5b
Create IncomeTest class
vibes-863 Apr 14, 2024
248f1a5
Add JUnit Test cases to ExpenseTest class
vibes-863 Apr 14, 2024
13617c2
Create initial version of add transaction class diagram
Apr 14, 2024
f48d85a
Fix checkStyle issues
vibes-863 Apr 14, 2024
b11ad9a
Fix checkStyle issues
vibes-863 Apr 14, 2024
02c1781
Merge pull request #150 from vibes-863/add-JUnit-account
vibes-863 Apr 14, 2024
7db0f38
Merge pull request #151 from vibes-863/add-JUnit-TransactionType
vibes-863 Apr 14, 2024
562a919
Fix clearing of account file if FileCorruptedException thrown
vibes-863 Apr 14, 2024
18d5475
Merge pull request #153 from vibes-863/fix-dataStorage-bug
vibes-863 Apr 14, 2024
c1f0de4
Enhance PPP
isaaceng7 Apr 14, 2024
b673593
Add header comments to Account class
vibes-863 Apr 14, 2024
017e5e6
Add header comments to AccountManager class
vibes-863 Apr 14, 2024
1feda80
Add header comments to Expense class
vibes-863 Apr 14, 2024
ae16ceb
Add header comments to Income class
vibes-863 Apr 14, 2024
cb7a464
Fix checkstyle issues
vibes-863 Apr 14, 2024
7d6c4cc
Merge pull request #155 from vibes-863/add-header-comments
vibes-863 Apr 14, 2024
b383e62
Merge pull request #154 from isaaceng7/enhance-ppp
isaaceng7 Apr 14, 2024
8dc4a36
Add architecture diagram into dg
isaaceng7 Apr 14, 2024
f24228c
Add user stories to dg
isaaceng7 Apr 14, 2024
9cf42e4
Update list implementation in dg
isaaceng7 Apr 14, 2024
a92d121
Update list feature in ug
isaaceng7 Apr 14, 2024
f1285d5
Merge pull request #156 from isaaceng7/enhance-dg
isaaceng7 Apr 14, 2024
805592f
Add documentation for UserInterface class
Vavinan Apr 14, 2024
e635599
Merge branch 'master' into branch-docs
Vavinan Apr 14, 2024
b9ec8ca
Add documentation to Parser class
Vavinan Apr 14, 2024
4fdcca6
Add documentation for the UI and Parser class
Vavinan Apr 14, 2024
739e3df
Fix indentation for Continuation
Vavinan Apr 14, 2024
a09e1bf
Merge pull request #157 from Vavinan/branch-docs
Vavinan Apr 14, 2024
a953341
Merge branch 'master' into branch-ppp
Vavinan Apr 14, 2024
12556db
Merge branch 'master' into fix-bug
Vavinan Apr 14, 2024
f7ab114
Fix UG to get multi-word input
Vavinan Apr 14, 2024
203865b
Merge pull request #158 from Vavinan/fix-bug
Vavinan Apr 14, 2024
b2804c3
Merge branch 'master' into branch-ppp
Vavinan Apr 14, 2024
4e53e01
Update PPP about search feature
Vavinan Apr 14, 2024
164fa36
Merge branch 'master' into branch-user-guide
Vavinan Apr 14, 2024
8721d4b
Add images for sample outputs
Vavinan Apr 14, 2024
1302a31
Add: Search functionality userguide and images for sample outputs
Vavinan Apr 14, 2024
1443058
Add command-line userguide for search feature
Vavinan Apr 14, 2024
f17de2f
Resolve variable definition order
Vavinan Apr 14, 2024
e396231
Merge pull request #159 from Vavinan/branch-ppp
Vavinan Apr 15, 2024
5504724
Merge branch 'master' into branch-user-guide
Vavinan Apr 15, 2024
e2bb3b1
Merge pull request #160 from Vavinan/branch-user-guide
Vavinan Apr 15, 2024
9c04a41
Update TransactionListDiagram.puml
Apr 15, 2024
34146e3
Add multiplicity to TransactionListDiagram.puml
Apr 15, 2024
7015dad
Add TransactionListDiagram to DG
Apr 15, 2024
4da12ba
Merge pull request #161 from ShyamKrishna33/developer-guide
ShyamKrishna33 Apr 15, 2024
e32d44f
Add documentation to Transaction.java
Apr 15, 2024
2ea8daa
Add documentation to TransactionList.java
Apr 15, 2024
0ad93c2
Add documentation to DataStorage.java
Apr 15, 2024
371586d
Merge branch 'master' into PPP
Apr 15, 2024
3ccd4eb
Merge pull request #162 from ShyamKrishna33/branch-docs
ShyamKrishna33 Apr 15, 2024
7c232a9
Add successful list feature in ug
isaaceng7 Apr 15, 2024
87b3c77
Merge pull request #163 from isaaceng7/update-ug-list-feature
isaaceng7 Apr 15, 2024
4ad5af8
Merge branch 'master' into developer-guide
Vavinan Apr 15, 2024
1e068cf
Add assertions and logging to Account class
vibes-863 Apr 15, 2024
4063beb
Add assertions and logging to AccountManager class
vibes-863 Apr 15, 2024
70997ae
Add logging to DataStorage
vibes-863 Apr 15, 2024
25d29f7
Add implementation details for search feature in DG
Vavinan Apr 15, 2024
11e7c47
Update PPP about contributions
Vavinan Apr 15, 2024
1adbcd7
Refactor: Reduce complexity of the class diagram
Vavinan Apr 15, 2024
827d799
Refactor readAccountFile method
vibes-863 Apr 15, 2024
e47b68a
Merge pull request #164 from Vavinan/developer-guide
Vavinan Apr 15, 2024
600cfe9
Add logging to DataStorage
vibes-863 Apr 15, 2024
895fc50
Update PPP
Apr 15, 2024
6089b2a
Add support to log everything into budgetBuddyLog file
vibes-863 Apr 15, 2024
31f2e03
Fix checkStyle issues
vibes-863 Apr 15, 2024
b3a9dc5
Merge pull request #165 from ShyamKrishna33/PPP
ShyamKrishna33 Apr 15, 2024
c2be51e
Merge pull request #166 from vibes-863/add-assertions-and-logging
vibes-863 Apr 15, 2024
d12a134
Add logging statements in DataStorage.java
Apr 15, 2024
c6ec752
Add logging statements in Parser.java
Apr 15, 2024
29021ae
Rename logger to LOGGER
vibes-863 Apr 15, 2024
bc24868
Merge pull request #167 from vibes-863/fix-convention
vibes-863 Apr 15, 2024
a62357e
Add logger for TransactionList
Vavinan Apr 15, 2024
1f10b97
Merge branch 'master' into branch-logger
Vavinan Apr 15, 2024
f934aa1
Fix checkstyle issues
Apr 15, 2024
84210a7
Merge pull request #168 from Vavinan/branch-logger
Vavinan Apr 15, 2024
bb43e40
Merge branch 'master' into branch-logging
Apr 15, 2024
f89d86f
Merge pull request #169 from ShyamKrishna33/branch-logging
ShyamKrishna33 Apr 15, 2024
11197d2
Merge branch 'master' into developer-guide
Apr 15, 2024
310c151
Merge branch 'master' into branch-ppp
Vavinan Apr 15, 2024
22258de
Update PPP to capitalize first letter of a line
Vavinan Apr 15, 2024
b9fa417
Update addTransaction.puml according to new changes
Apr 15, 2024
626d4a0
Save addTransaction sequence diagram
Apr 15, 2024
0f27aa1
Merge pull request #170 from Vavinan/branch-ppp
Vavinan Apr 15, 2024
c6d4bc8
Merge pull request #171 from ShyamKrishna33/developer-guide
ShyamKrishna33 Apr 15, 2024
74254db
Update the UserGuide
vibes-863 Apr 15, 2024
221615f
Merge pull request #173 from vibes-863/update-ug
vibes-863 Apr 15, 2024
12afb9f
Handle the case when comma is entered as the input
Apr 15, 2024
fe78d59
Fix checkstyle issues
Apr 15, 2024
e0284ad
Merge branch 'master' into branch-ppp
Vavinan Apr 15, 2024
e6d374d
Update PPP
Vavinan Apr 15, 2024
f88360a
Merge pull request #174 from ShyamKrishna33/172-comma-in-name-error
ShyamKrishna33 Apr 15, 2024
a27fd26
Merge branch 'master' into branch-ppp
Vavinan Apr 15, 2024
9d207cd
Merge pull request #175 from Vavinan/branch-ppp
Vavinan Apr 15, 2024
c7f8213
Merge branch 'master' into developer-guide
Apr 15, 2024
4d926b0
Update vavinan.md
Vavinan Apr 15, 2024
e9372d6
Merge pull request #176 from Vavinan/branch-ppp
Vavinan Apr 15, 2024
8442816
Add acknowledgements in DG
Apr 15, 2024
7a127dc
Remove condition check for list
isaaceng7 Apr 15, 2024
21e2740
Add command notes in UG
isaaceng7 Apr 15, 2024
5ae96e5
Merge pull request #178 from isaaceng7/add-ug-feature-notes
isaaceng7 Apr 15, 2024
03ff83b
Merge pull request #177 from ShyamKrishna33/developer-guide
ShyamKrishna33 Apr 15, 2024
93cc596
Add table of contents to UG
isaaceng7 Apr 15, 2024
b88f4a7
Add class diagram to Add Account
vibes-863 Apr 15, 2024
2b7d26e
Add description to README
isaaceng7 Apr 15, 2024
047b1bd
Merge pull request #179 from isaaceng7/format-docs
isaaceng7 Apr 15, 2024
82ff4b4
Merge branch 'master' into developer-guide
Apr 15, 2024
fc4eb75
Update DG with design and implementation of Remove Account
vibes-863 Apr 15, 2024
a0c58f2
Merge branch 'master' into developer-guide
Vavinan Apr 15, 2024
24ed3f9
Fix formatting issues
vibes-863 Apr 15, 2024
d23d441
Merge pull request #180 from vibes-863/update-dg
vibes-863 Apr 15, 2024
4464a5b
Add data storage instructions for manual testing in DG
Apr 15, 2024
c3a43fa
Update DG to include manual testing
Vavinan Apr 15, 2024
1185c53
Merge branch 'master' into developer-guide
Vavinan Apr 15, 2024
7565241
Merge pull request #181 from Vavinan/developer-guide
Vavinan Apr 15, 2024
1cfe454
Merge branch 'master' into developer-guide
Apr 15, 2024
a5612f8
Add manual testing for list, delete and delete-acc
isaaceng7 Apr 15, 2024
d29b8dd
Merge commit '75652410715ad1b4a1b48c0cbd91e84e6cc7bcc6' into dg-manua…
isaaceng7 Apr 15, 2024
88fc72c
Merge pull request #182 from isaaceng7/dg-manual-testing
isaaceng7 Apr 15, 2024
0d3cbcf
Merge branch 'master' into developer-guide
Apr 15, 2024
da35b9f
Merge branch 'master' into developer-guide
Vavinan Apr 15, 2024
6752a8e
Update PPP
vibes-863 Apr 15, 2024
ee09909
Add TOC for DG
isaaceng7 Apr 15, 2024
ecd34eb
Merge pull request #183 from vibes-863/update-ppp
vibes-863 Apr 15, 2024
f30fe73
Merge pull request #184 from ShyamKrishna33/developer-guide
ShyamKrishna33 Apr 15, 2024
47c856b
Merge pull request #185 from isaaceng7/dg-table-of-contents
isaaceng7 Apr 15, 2024
7b160d2
Update DG
Vavinan Apr 15, 2024
0b24e22
Merge branch 'master' into developer-guide
Vavinan Apr 15, 2024
b8428a9
Merge pull request #186 from Vavinan/developer-guide
ShyamKrishna33 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
30 changes: 15 additions & 15 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@ jobs:
- name: Build and check with Gradle
run: ./gradlew check

- name: Perform IO redirection test (*NIX)
if: runner.os == 'Linux'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (MacOS)
if: always() && runner.os == 'macOS'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (Windows)
if: always() && runner.os == 'Windows'
working-directory: ${{ github.workspace }}/text-ui-test
shell: cmd
run: runtest.bat
# - name: Perform IO redirection test (*NIX)
# if: runner.os == 'Linux'
# working-directory: ${{ github.workspace }}/text-ui-test
# run: ./runtest.sh
#
# - name: Perform IO redirection test (MacOS)
# if: always() && runner.os == 'macOS'
# working-directory: ${{ github.workspace }}/text-ui-test
# run: ./runtest.sh
#
# - name: Perform IO redirection test (Windows)
# if: always() && runner.os == 'Windows'
# working-directory: ${{ github.workspace }}/text-ui-test
# shell: cmd
# run: runtest.bat
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
/data/accounts.txt
/data/transactions.txt
7 changes: 5 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ repositories {
dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
implementation group: 'org.knowm.xchart', name: 'xchart', version: '3.2.2'
}


test {
useJUnitPlatform()

Expand All @@ -29,11 +31,11 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("budgetbuddy.BudgetBuddy")
}

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

Expand All @@ -42,5 +44,6 @@ checkstyle {
}

run{
// enableAssertions = true
standardInput = System.in
}
13 changes: 6 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# 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
--------|:-------------------------:|:-------------------------------------------:|:---------:
![](./team/images/vaibhav.png) | Vaibhav Dileep Pillai | [Github](https://github.com/vibes-863) | [Portfolio](./team/vaibhavDileepPillai.md)
![](./team/images/Shyam.jpg) | Shyam Krishna Arun Gandhi | [Github](https://github.com/ShyamKrishna33) | [Portfolio](./team/shyamKrishna.md)
![](./team/images/vavinan.jpg) | Jeevanandham Vavinan | [Github](https://github.com/Vavinan) | [Portfolio](./team/jeevanandhamVavinan.md)
![](./team/images/isaac.jpg) | Isaac Eng | [Github](https://github.com/isaaceng7) | [Portfolio](./team/isaacEng.md)
64 changes: 64 additions & 0 deletions docs/DeveloperGuide.md
Copy link

Choose a reason for hiding this comment

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

Can be improved with the addition of diagrams to complement the content written

Choose a reason for hiding this comment

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

Very concise and well explained information shown in the Developer Guide

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,70 @@

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

### [Implemented] Account feature
#### Implementation
The Account feature in the BudgetBuddy application serves as a core component for tracking the user's current financial
balance. This feature is primarily facilitated through the `Account` class, which encapsulates the balance attribute and
provides mechanisms to get and set the balance. The Account object interacts closely with transactions, being updated
whenever transactions are added or deleted.

Looking ahead, users will have the flexibility to manage multiple accounts—such as Wallet, Savings, Checking, and
Investment accounts—each encapsulated within the application's framework for seamless financial oversight. This
expansion will provide a comprehensive view of diverse financial sources and enhance personal financial management
within BudgetBuddy.


### [Implemented] Category feature

#### Description

The Category feature empowers users to effectively categorize transactions based on their preferences. When initiating a
new transaction through the `Add` command, users are prompted to select a category from a predefined list. This ensures
organized and streamlined transaction management.

#### Design and Implementation

The implementation of the Category feature revolves around the integration of a `category` attribute within each
transaction object. This attribute is defined as a member of the `Category` enum class.

Upon invoking the `Add` command, users are presented with a selection prompt featuring the available categories. User
input, typically in the form of a numerical identifier corresponding to a category within the enum class, facilitates
the assignment of the appropriate enum object to the transaction's category attribute.


### [Implemented] Remove transaction
#### Description
This method is used to remove a transaction from the list of transactions based on the transaction ID provided
by the user. After the transaction is removed, the account balance is updated accordingly and a message is
displayed to the user indicating the success of the operation. This helps user to remove the transaction
from the list they added by mistake or those transactions they no longer need to keep track off.

#### Parameters
1. String input: A string containing the user input, which should include the transaction ID to be removed.
2. Account account: The account object associated with the transaction list.

#### Design and Implementation
The method first validates the user input to ensure it's not empty or null. If the input is invalid, it throws
an EmptyArgumentException. Next, it extracts the transaction ID from the input and verifies its integrity as a
valid integer. If the ID is invalid, a NumberFormatException is thrown.

Once a valid transaction ID is obtained, the method calculates its corresponding index in the transactions
ArrayList by subtracting 1 from the provided ID, as ArrayList indices start from 0 . It then verifies
if the calculated index falls within the bounds of the ArrayList. If the index is out of bounds, an
InvalidIndexException is thrown.

Upon successful validation, the method removes the transaction at the calculated index from the transactions
ArrayList. Subsequently, it updates the account balance to reflect the removed transaction. Finally, it
notifies the user of the successful removal along with displaying the details of the removed transaction.

### [Implemented] List feature
#### Implementation
The list feature in the BudgetBuddy application allows users to view all their past transactions. This feature is
facilitated through the `UserInterface#printAllTransactions`, which loops through the entire ArrayList of transactions
and extract all the details of each transaction.

This feature will be further enhanced to include options to view transactions that the user is interested in only. For
example, transactions of the past week, past month, specified date range.

## Product scope
### Target user profile
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke
# BudgetBuddy

{Give product intro here}

Expand Down
162 changes: 145 additions & 17 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,169 @@

## Introduction

{Give a product intro}
BudgetBuddy is a desktop app for managing personal finances, optimized for use via a Command Line Interface (CLI).
It offers the tracking of income and expenses of multiple accounts and even provides insights of your financial
activities.

## Quick Start

{Give steps to get started quickly}

1. Ensure that you have Java 11 or above installed.
1. Down the latest version of `Duke` from [here](http://link.to/duke).
2. Down the latest version of `tp.jar` from [here](https://github.com/AY2324S2-CS2113-T15-2/tp/releases/latest).
3. Copy the file to the folder you want to use as the home folder for your BudgetBuddy app.
4. Open a command terminal, `cd` into the folder you added the jar file to, and use the `java -jar tp.jar` command to
run the application.
5. When prompted, type the command into the terminal and press Enter to execute it. e.g. typing `help` and pressing
Enter will prompt the help feature.

## Features

### Viewing help: `help`

Shows the instructions for using BudgetBuddy.
Format: `help`
This command gives the list to search for commands, specific for each task. The commands `help all` and
`help acc` covers the basic structure of all commands. Instructions for command-specific help will be
provided in the `help all` and `help acc` accordingly.

### Adding a transaction: `add`

Adds a transaction into the transaction list of the specified account.
Parameters: Account Number, Transaction Type, Name, Amount, Date, Category
Format: `add /a/ACCOUNT_NUMBER /t/TRANSACTION_TYPE /n/NAME /$/AMOUNT /d/DATE /c/CATEGORY`

* The `ACCOUNT_NUMBER` can be viewed using the command `list-acc`.
* The `TRANSACTION_TYPE` includes **Expense** or **Income** ONLY.
* The `AMOUNT` is in dollars ($).
* The `DATE` should be in the format **DD-MM-YYYY**.
* The `CATEGORY` is an integer. The categories are mapped to the following integers: 1 (Dining), 2 (Groceries), 3 (
Utilities), 4 (Transportation), 5 (Healthcare), 6 (Entertainment), 7 (Rent), 8 (Salary), 9 (Others).
* NOTE: A transaction of a particular `CATEGORY` can be of both `TRANSACTION_TYPE`s.

Example of usage:

`add /a/5431 /t/Income /n/March Salary /$/10000 /d/01-03-2024 /c/8`

`add /n/New iPhone /$/2000 /c/9 /t/Expense /a/5431 /d/20-03-2024`

### View transaction history: `list`

List the transactions. List options will include 1. All Transactions, 2. Past Week Transactions, 3. Past Month
Transactions, 4. Custom Date Transactions.
Format: `list`

Example of usage:
`list` followed by `1` to view All Transactions.
`list` followed by `2` to view Past Week Transactions.
`list` followed by `3` to view Past Week Transactions.
`list` followed by `4` followed by the start date `01-01-2024` followed by the end date `31-03-2024` to view Custom Date
Transactions from 01-01-2024 to 31-03-2024.

### Deleting a transaction: `delete`

Removes a transaction from transaction history.
Parameters: Transaction ID
Format: `delete TRANSACTION_ID`

* The `TRANSACTION_ID` is an integer value ranges from one to the size of the transaction history (index
ID of the last transaction).
* The `TRANSACTION_ID` can be viewed using the command `list` followed by `1`.

Example of usage:
`delete 1`

Choose a reason for hiding this comment

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

The expected output can also be included for users to more clearly know what to expect when using the programme.


### Edit a transaction: `edit`

Edits the details of an existing transaction.
Parameters: Transaction ID
Format: `edit TRANSACTION_ID`

* The `TRANSACTION_ID` is an integer value ranges from one to the size of the transaction history (index
ID of the last transaction).
* The `TRANSACTION_ID` can be viewed using the command `list` followed by `1`.
* Edit transaction will only update the existing entry, so it won't change the index ID of that transaction.
The edited transaction will still be accessible from the same index ID.

Example of usage:
`edit 2`

Then the user will be asked to edit each information from that specific transaction one by one.

### Add an account: `add-acc`

Adds a new account with a specified initial balance.
Parameters: Account Name, Initial Balance
Format: `add-acc /n/ACCOUNT_NAME /$/INITIAL_BALANCE`

* The `INITIAL_AMOUNT` is in dollars ($).

Example of Usage:
`add-acc /n/DBS Savings /$/10000`

### List all accounts: `list-acc`

List all the existing accounts.
Format: `list-acc`

### Delete an account: `delete-acc`

Removes an account and removes all its transactions.
Parameters: Account Number
Format: `delete ACCOUNT_NUMBER`

* The `ACCOUNT_NUMBER` can be viewed using the command `list-acc`.

Example of usage:
`delete-acc 5431`

### Edit an account: `edit-acc`

Edits the details of an existing account.
Parameters: Account Number
Format: `edit-acc ACCOUNT_NUMBER`

## Features
Example of usage:
`edit-acc 5431`

{Give detailed description of each feature}
### View transaction insights: `insights`

### Adding a todo: `todo`
Adds a new item to the list of todo items.
View the insights of all the transactions listed so far using a pie chart. Two pie charts are displayed,
one for each type (i.e. `income` and `expense`). The pie charts show the percentage of total amount transferred
in a particular category among all categories.

Format: `todo n/TODO_NAME d/DEADLINE`
Format: `insights`

* The `DEADLINE` can be in a natural language format.
* The `TODO_NAME` cannot contain punctuation.
### Exiting the program: `bye`

Example of usage:
Exits BudgetBuddy.
Format: `bye`

`todo n/Write the rest of the User Guide d/next week`
### Saving the data

`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`
BudgetBuddy data are saved in the hard disk automatically when the user exits the program. There is no need to save the
data manually.

## FAQ

**Q**: How do I transfer my data to another computer?
**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 BudgetBuddy home folder.

## Command Summary

{Give a 'cheat sheet' of commands here}

* Add todo `todo n/TODO_NAME d/DEADLINE`
* View help `help`
* View help for all commands `help all`. Ths can be used to see all the commands related to transactions
* View help for accounts `help acc`. This can be used to see all the commands related to account
* Further help for each transaction command will be provided in the `help all`
* Add transaction `add /a/ACCOUNT_NUMBER /t/TRANSACTION_TYPE /n/NAME /$/AMOUNT /d/DATE /c/CATEGORY`
* List transactions `list`
* Delete transaction `delete TRANSACTION_ID`
* Edit transaction `edit TRANSACTION_ID`
* Add account `add-acc /n/ACCOUNT_NAME /$/INITIAL_BALANCE`
* List accounts `list-acc`
* Delete account `delete-acc ACCOUNT_NUMBER`
* Edit account `edit-acc ACCOUNT_NUMBER`
* View insights `insights`
* Exit program `bye`
Binary file added docs/team/images/Shyam.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/team/images/isaac.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/team/images/vaibhav.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/team/images/vavinan.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/team/johndoe.md → docs/team/isaacEng.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# John Doe - Project Portfolio Page
# Isaac Eng - Project Portfolio Page

## Overview

Expand Down
6 changes: 6 additions & 0 deletions docs/team/jeevanandhamVavinan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Jeevanandham Vavinan - Project Portfolio Page

## Overview


### Summary of Contributions
6 changes: 6 additions & 0 deletions docs/team/shyamKrishna.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Shyam Krishna Arun Gandhi - Project Portfolio Page

## Overview


### Summary of Contributions
6 changes: 6 additions & 0 deletions docs/team/vaibhavDileepPillai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Vaibhav Dileep Pillai - Project Portfolio Page

## Overview


### Summary of Contributions
Loading
Loading