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-F13-2] BrokeMan #51

Open
wants to merge 418 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 174 commits
Commits
Show all changes
418 commits
Select commit Hold shift + click to select a range
a382e5e
fixed checkstyle
Samueltansw Mar 24, 2023
5dc939e
Merge pull request #62 from Samueltansw/master
Samueltansw Mar 24, 2023
8799059
Added Save component for Budget and Read Component
SpeciLiam Mar 28, 2023
ef38c4a
Added Save component for Budget and Read Component
SpeciLiam Mar 28, 2023
5aec75a
CheckStyle
SpeciLiam Mar 28, 2023
2e2e987
Merge pull request #63 from AY2223S2-CS2113-F13-2/master
SpeciLiam Mar 28, 2023
a593cbc
Update the command list of User Guide
Mar 29, 2023
3e52928
Update the command cheatsheet of User Guide
Mar 30, 2023
cb0f1d4
Update the command cheatsheet of User Guide
Mar 30, 2023
6527fac
Update the text ui
Mar 30, 2023
329b632
Merge branch 'master' of https://github.com/sistine-yu/tp
Mar 30, 2023
0e69216
Merge pull request #65 from sistine-yu/master
sistine-yu Mar 30, 2023
e543531
updated UserGuide.md and enabled assertions in build.gradle
Samueltansw Mar 30, 2023
fb305b6
added table of contents for user guide
Samueltansw Mar 30, 2023
9ead250
Merge pull request #66 from Samueltansw/master
Samueltansw Mar 30, 2023
1939efa
Developer Guide for Save Methods and Classes.
SpeciLiam Mar 30, 2023
547b447
Merge pull request #67 from AY2223S2-CS2113-F13-2/master
SpeciLiam Mar 30, 2023
95530bf
Update DG miscellaneous
Mar 30, 2023
82aac8f
merge the updated upstreamMerge branch 'master' of https://github.com…
Mar 30, 2023
b0ce5cf
Add Entry Test
namsengi11 Mar 30, 2023
8a8ced2
Resolve checkstyle issue
namsengi11 Mar 30, 2023
4f219b7
Resolve checkstyle issue
namsengi11 Mar 30, 2023
dece3a3
Resolve checkstyle issue
namsengi11 Mar 30, 2023
27515d4
Resolve checkstyle issue
namsengi11 Mar 30, 2023
2f06c81
Resolve contrasting save file
namsengi11 Mar 30, 2023
6be16a8
Merge pull request #69 from namsengi11/test
namsengi11 Mar 30, 2023
6d22cbc
added assertions to parser class and some minor changes to UserInput
Samueltansw Mar 30, 2023
a6e0538
Merge remote-tracking branch 'upstream/master' into branch-AddAssertions
Samueltansw Mar 30, 2023
d9cdaf0
fixed indentation error
Samueltansw Mar 30, 2023
d993104
fixed indentation error
Samueltansw Mar 30, 2023
bf7cfdf
Resolve version conflict issue
namsengi11 Mar 30, 2023
07e8748
removed wrong assertion in parser class
Samueltansw Mar 30, 2023
7ec9003
updated expected.txt
Samueltansw Mar 30, 2023
ef52e74
Merge pull request #70 from Samueltansw/branch-AddAssertions
Samueltansw Mar 30, 2023
2178ee5
updated help message
Samueltansw Mar 30, 2023
9f29430
Merge pull request #71 from Samueltansw/master
Samueltansw Mar 30, 2023
1a928a4
Merge pull request #68 from sistine-yu/master
Samueltansw Mar 30, 2023
f74297f
Update UserGuide.md
namsengi11 Mar 30, 2023
ed62329
added architecture sequence diagram to developer guide
Samueltansw Mar 31, 2023
baa05b2
Merge remote-tracking branch 'upstream/master'
Samueltansw Mar 31, 2023
a1ad8f6
Merge pull request #72 from Samueltansw/master
Samueltansw Mar 31, 2023
27b8534
Update UG hyperlink
Mar 31, 2023
ef88079
Merge branch 'AY2223S2-CS2113-F13-2:master' into master
sistine-yu Mar 31, 2023
00b6003
Merge pull request #73 from sistine-yu/master
sistine-yu Mar 31, 2023
7bf465b
updated developerGuide.md
Samueltansw Mar 31, 2023
13abc0e
Merge remote-tracking branch 'upstream/master'
Samueltansw Mar 31, 2023
54d8b8e
minor edit tod developer guide
Samueltansw Mar 31, 2023
bc44722
Merge pull request #74 from Samueltansw/master
Samueltansw Mar 31, 2023
94255f7
added example outputs that the user will see based on the inputs they…
Samueltansw Mar 31, 2023
1d45d2e
Merge pull request #75 from Samueltansw/master
Samueltansw Mar 31, 2023
1d96f34
minor edits to user guide
Samueltansw Mar 31, 2023
cc7362d
Merge pull request #76 from Samueltansw/master
Samueltansw Mar 31, 2023
b2e66bf
testing the hyperlink for TOC in user guide
Samueltansw Apr 1, 2023
209244d
fixed bugs in table of content links, handled NoSuchElementException …
Samueltansw Apr 1, 2023
2d2c2eb
minor edits to user guide
Samueltansw Apr 1, 2023
8616f78
updated expected.txt
Samueltansw Apr 1, 2023
bdfed62
Merge pull request #141 from Samueltansw/master
Samueltansw Apr 1, 2023
9dbf6e5
edited description of edit an income in user guide
Samueltansw Apr 1, 2023
52388a0
Merge pull request #142 from Samueltansw/master
Samueltansw Apr 1, 2023
2b0468b
added limit of 2dp for amount in user guide
Samueltansw Apr 1, 2023
efbdc7a
bolded 2dp in user guide
Samueltansw Apr 1, 2023
7d9f6ab
Merge pull request #143 from Samueltansw/master
Samueltansw Apr 1, 2023
e2e2abb
added links to table of content at the end of every section in user g…
Samueltansw Apr 1, 2023
1496062
Merge pull request #144 from Samueltansw/master
Samueltansw Apr 1, 2023
ef10749
Update UserGuide.md
namsengi11 Apr 3, 2023
7299b23
Update UserGuide.md
namsengi11 Apr 3, 2023
ea02332
Update UserGuide.md
namsengi11 Apr 3, 2023
655e924
Update UserGuide.md
namsengi11 Apr 3, 2023
55c2d52
correct minor issues for command instruction
namsengi11 Apr 3, 2023
5c2d377
Added exception handling for if the save files are tampered with and …
SpeciLiam Apr 4, 2023
98c4973
Made it to where if the category is tampered with in the save file it…
SpeciLiam Apr 4, 2023
151ac13
Met test expectations
namsengi11 Apr 4, 2023
d2e3187
resolve issue raised by PE-D
namsengi11 Apr 4, 2023
7021c33
resolve checkstyle issue
namsengi11 Apr 4, 2023
b0adcac
resolve checkstyle issue
namsengi11 Apr 4, 2023
237a975
resolve checkstyle issue
namsengi11 Apr 4, 2023
2c93593
resolve checkstyle issue
namsengi11 Apr 4, 2023
f2f1f4f
Merge pull request #145 from namsengi11/test
namsengi11 Apr 4, 2023
0942978
Merge branch 'AY2223S2-CS2113-F13-2:master' into master
SpeciLiam Apr 5, 2023
9d70704
checkstyle
SpeciLiam Apr 5, 2023
293a1d1
Merge pull request #146 from AY2223S2-CS2113-F13-2/master
SpeciLiam Apr 5, 2023
83e9367
Update UserGuide.md
namsengi11 Apr 5, 2023
f5f2a5b
Update DeveloperGuide.md
namsengi11 Apr 5, 2023
a940f23
Create namsengi11.md
namsengi11 Apr 5, 2023
d522927
added duplicated flags exception for add commands, and also allowed t…
Samueltansw Apr 6, 2023
86abf97
deleted comments to follow coding standard
Samueltansw Apr 6, 2023
d0f5239
updated expected.txt
Samueltansw Apr 6, 2023
39b8054
Update UserGuide.md
namsengi11 Apr 6, 2023
1a9d762
Update namsengi11.md
namsengi11 Apr 6, 2023
9765d4a
updated SaveExpense and SaveIncome files to accept '/' character as d…
Samueltansw Apr 6, 2023
62d6bb2
Merge pull request #147 from Samueltansw/modifyParser
Samueltansw Apr 6, 2023
bda6b9d
Add javadoc
namsengi11 Apr 6, 2023
0a84bb3
disallow user to enter flags as a new description when editing income…
Samueltansw Apr 6, 2023
d8da7a6
Merge remote-tracking branch 'upstream/master' into modifyParser
Samueltansw Apr 6, 2023
44a6c22
minor edits
Samueltansw Apr 6, 2023
2fcf6b4
minor edits
Samueltansw Apr 6, 2023
65b0dbe
updated Expected.txt
Samueltansw Apr 6, 2023
3ddc1ad
Merge pull request #149 from Samueltansw/modifyParser
Samueltansw Apr 6, 2023
c227d84
standardise 'eg.' in command summary in usre guide
Samueltansw Apr 6, 2023
6bead31
Merge pull request #150 from Samueltansw/modifyParser
Samueltansw Apr 6, 2023
92cb80d
deleted target.java as not in use, and added more JUnit Tests
Samueltansw Apr 8, 2023
0e3488a
Merge pull request #151 from Samueltansw/branch-AddJunitTest2
Samueltansw Apr 8, 2023
79b463a
renamed the functions in ParserTest
Samueltansw Apr 8, 2023
cdc1dbc
minor edits
Samueltansw Apr 8, 2023
cb5f69c
Merge pull request #152 from Samueltansw/branch-AddJunitTest2
Samueltansw Apr 8, 2023
ca76250
minor edits
Samueltansw Apr 8, 2023
e68d493
resolve PED issues
Samueltansw Apr 8, 2023
12586c8
Update part of EntryList component and Parser component in DG
Apr 8, 2023
3526155
Add Sistine ppp
Apr 8, 2023
756a46d
Merge branch 'AY2223S2-CS2113-F13-2:master' into master
sistine-yu Apr 8, 2023
0d28fcf
minor bugs
Samueltansw Apr 8, 2023
95a114f
fixed checkstyle
Samueltansw Apr 8, 2023
b44c5ff
Merge pull request #153 from sistine-yu/master
sistine-yu Apr 8, 2023
d10a1f7
Merge pull request #154 from Samueltansw/resolvePED
Samueltansw Apr 8, 2023
ed21c3a
edited user guide and fixed some bugs
Samueltansw Apr 8, 2023
dca5d16
minor edits to user guide
Samueltansw Apr 8, 2023
b20b95e
updated Expected.txt
Samueltansw Apr 8, 2023
a535289
Merge pull request #155 from Samueltansw/master
Samueltansw Apr 8, 2023
9360d66
minor edits to user guide
Samueltansw Apr 8, 2023
4ce1fb8
fixed bugs in parser
Samueltansw Apr 8, 2023
d60b3ba
Merge pull request #156 from Samueltansw/master
Samueltansw Apr 8, 2023
2ad2377
updated AboutUs.md and added PPP
Samueltansw Apr 8, 2023
cc9e3b2
Merge pull request #157 from Samueltansw/master
Samueltansw Apr 8, 2023
3ada9cb
edited PPP
Samueltansw Apr 8, 2023
2736f78
Merge pull request #158 from Samueltansw/master
Samueltansw Apr 8, 2023
b8864ae
added more stuff to PPP
Samueltansw Apr 8, 2023
345dd86
Merge pull request #161 from Samueltansw/master
Samueltansw Apr 8, 2023
345f1c8
added more stuff to PPP
Samueltansw Apr 8, 2023
9e0aa6f
added more stuff to PPP
Samueltansw Apr 8, 2023
d7b37fd
fixed checkstyle
Samueltansw Apr 8, 2023
ae017cc
Merge pull request #162 from Samueltansw/master
Samueltansw Apr 8, 2023
982e510
added link for contributions beyond team project
Samueltansw Apr 8, 2023
c47a18f
fixed spelling
Samueltansw Apr 8, 2023
093535e
minor edits to PPP
Samueltansw Apr 8, 2023
efeb086
Merge pull request #163 from Samueltansw/master
Samueltansw Apr 8, 2023
737dd17
updated README.MD and PPP
Samueltansw Apr 9, 2023
b60a003
Update the diagram in component part of DG
Apr 9, 2023
eae9b84
Update the component part of DG
Apr 9, 2023
91ff609
Merge pull request #164 from sistine-yu/master
sistine-yu Apr 9, 2023
307e83d
Update PPP
Apr 9, 2023
17b5ee3
Merge branch 'AY2223S2-CS2113-F13-2:master' into master
sistine-yu Apr 9, 2023
faebaec
Merge pull request #165 from sistine-yu/master
sistine-yu Apr 9, 2023
d2727b8
Minor changes in DG
Apr 9, 2023
6b78032
Merge remote-tracking branch 'origin/master'
Apr 9, 2023
3cb38f0
Merge branch 'AY2223S2-CS2113-F13-2:master' into master
sistine-yu Apr 9, 2023
41d6a92
trying out different links in PPP
Samueltansw Apr 9, 2023
f6d5943
updated the TOC in DG
Samueltansw Apr 9, 2023
00f8614
updated PPP
Samueltansw Apr 9, 2023
da8b11a
updated the output for help command
Samueltansw Apr 9, 2023
9a8b240
Update readme to display ppp in github pages
Apr 9, 2023
01b8b0b
Merge remote-tracking branch 'origin/master'
Apr 9, 2023
794132c
Merge pull request #166 from sistine-yu/master
sistine-yu Apr 9, 2023
57d0614
handled merge conflicts
Samueltansw Apr 9, 2023
016d71e
minor edits to DG
Samueltansw Apr 9, 2023
c5bbbe2
fixed merge conflicts
Samueltansw Apr 9, 2023
d979797
Merge pull request #167 from Samueltansw/master
Samueltansw Apr 9, 2023
a47912f
fixed bugs in architecture sequence diagram and added appendix: instr…
Samueltansw Apr 9, 2023
ca1ec8a
updated PPP and removed {more to be added} line in DG
Samueltansw Apr 9, 2023
ae2b063
updated PPP
Samueltansw Apr 9, 2023
a92fea0
Merge pull request #168 from Samueltansw/master
Samueltansw Apr 9, 2023
7efa96f
fixed broken link
Samueltansw Apr 9, 2023
863b420
Merge pull request #148 from namsengi11/documentation
namsengi11 Apr 9, 2023
de7b36f
added a maximum limit that can be entered as amount in UG, as well as…
Samueltansw Apr 9, 2023
4bdf4fc
fixed checkstyle
Samueltansw Apr 9, 2023
c11127c
updated Expected.txt
Samueltansw Apr 9, 2023
c8c626b
Merge pull request #169 from Samueltansw/master
Samueltansw Apr 9, 2023
eaa96a5
Liam Van PPP
SpeciLiam Apr 9, 2023
7f449a0
Merge pull request #170 from AY2223S2-CS2113-F13-2/master
SpeciLiam Apr 9, 2023
4baa574
Add exception for dates smaller than earliest date
namsengi11 Apr 9, 2023
bcbcc6e
Resolve merge conflict issues
namsengi11 Apr 9, 2023
f57f83c
Resolve test conflicts
namsengi11 Apr 9, 2023
2faa2e0
Merge pull request #171 from namsengi11/time
namsengi11 Apr 9, 2023
78fb763
modified EntryListClassDiagram, modified descrption of parser compone…
Samueltansw Apr 9, 2023
d2705ea
Merge pull request #172 from Samueltansw/master
Samueltansw Apr 9, 2023
a450ae0
fixed grammar issues and spacing issues, and reorder diagram
Samueltansw Apr 9, 2023
2ce6d99
Merge remote-tracking branch 'upstream/master'
Samueltansw Apr 9, 2023
a25f0c2
Add tests
namsengi11 Apr 9, 2023
af79552
resolve merge conflict
namsengi11 Apr 9, 2023
6e023f4
Merge branch 'master' of https://github.com/namsengi11/tp into test
namsengi11 Apr 9, 2023
77c1f98
Add intensive testing
namsengi11 Apr 9, 2023
7c679a5
Resolve checkstyle issues
namsengi11 Apr 9, 2023
70c924d
Resolve checkstyle issues
namsengi11 Apr 9, 2023
32a42c7
updated UG and fixed rounding issues in decimal values
Samueltansw Apr 9, 2023
e337077
minor edits to UG
Samueltansw Apr 9, 2023
2694473
Merge pull request #174 from namsengi11/test
namsengi11 Apr 9, 2023
2bda6c3
Merge pull request #173 from Samueltansw/master
Samueltansw Apr 9, 2023
ada68d2
Update DeveloperGuide.md
namsengi11 Apr 9, 2023
33e53ca
Update DeveloperGuide.md
namsengi11 Apr 9, 2023
66fd211
Add files via upload
namsengi11 Apr 9, 2023
bd9103a
Delete BudgetClassUML.png
namsengi11 Apr 9, 2023
b5326c9
Add files via upload
namsengi11 Apr 9, 2023
20c949f
Create budget.puml
namsengi11 Apr 9, 2023
2aa4889
Update DeveloperGuide.md
namsengi11 Apr 9, 2023
5e62653
edited architecuture diagram, edited and moved the architecture diagr…
Samueltansw Apr 9, 2023
e93acd7
Merge remote-tracking branch 'upstream/master'
Samueltansw Apr 9, 2023
6c7240b
fixed hyperlink for BudgetClassUML and slight edit to BudgetClassUML.…
Samueltansw Apr 9, 2023
936f165
fixed hyperlink for BudgetClassUML and slight edit to BudgetClassUML.…
Samueltansw Apr 9, 2023
8cf5e45
updated PPP
Samueltansw Apr 9, 2023
0eedaa8
Merge pull request #175 from Samueltansw/master
Samueltansw Apr 9, 2023
8effc32
edited DG
Samueltansw Apr 9, 2023
5644062
minor change to parser class diagram
Samueltansw Apr 9, 2023
07fa464
Merge pull request #176 from Samueltansw/master
Samueltansw Apr 9, 2023
c00c3ff
minor edit to PPP
Samueltansw Apr 10, 2023
19e2dfd
Merge pull request #177 from Samueltansw/master
Samueltansw Apr 10, 2023
c3b74c6
minor edit to PPP and fixed bugs in editing dates in income and expense
Samueltansw Apr 10, 2023
6e91979
removed commented code
Samueltansw Apr 10, 2023
7a619a1
Merge pull request #178 from Samueltansw/master
Samueltansw Apr 10, 2023
fb2d078
added oldest date that can be entered in UG
Samueltansw Apr 10, 2023
a9cef23
Merge pull request #179 from Samueltansw/master
Samueltansw Apr 10, 2023
cfdd135
added more class diagrams to DG
Samueltansw Apr 10, 2023
8c59177
Merge pull request #180 from Samueltansw/master
Samueltansw Apr 10, 2023
6266cb2
updated TOC in DG
Samueltansw Apr 10, 2023
15f7089
Merge pull request #181 from Samueltansw/master
Samueltansw Apr 10, 2023
b7eba58
edited budget class diagram
Samueltansw Apr 10, 2023
0e75010
Merge pull request #182 from Samueltansw/master
Samueltansw Apr 10, 2023
7c37e43
minor edits to DG
Samueltansw Apr 10, 2023
0589eab
Merge pull request #183 from Samueltansw/master
Samueltansw Apr 10, 2023
c1cabf6
changed the name of .jar file
Samueltansw Apr 10, 2023
bf863a7
Merge pull request #184 from Samueltansw/master
Samueltansw Apr 10, 2023
403f697
fixed bugs in setBudget command
Samueltansw Apr 10, 2023
ceac7b2
removed commented code
Samueltansw Apr 10, 2023
6067fcf
fixed bugs in parser test
Samueltansw Apr 10, 2023
dd06f95
Merge pull request #185 from Samueltansw/master
Samueltansw Apr 10, 2023
92430b8
Update DeveloperGuide.md
namsengi11 Apr 10, 2023
11bdbc7
Update DeveloperGuide.md
namsengi11 Apr 10, 2023
79e4fc3
added samuel's image and updated aboutus.md
Samueltansw Apr 10, 2023
3cecba8
Add logging and reduce repetitive testing
namsengi11 Apr 10, 2023
258863c
Merge pull request #187 from Samueltansw/master
Samueltansw Apr 10, 2023
b916ae1
Merge pull request #186 from namsengi11/test
namsengi11 Apr 10, 2023
72e9066
updated UG
Samueltansw Apr 10, 2023
4681e65
Delete D.jpg
namsengi11 Apr 10, 2023
4501284
Merge remote-tracking branch 'upstream/master'
Samueltansw Apr 10, 2023
8038b7a
Add files via upload
namsengi11 Apr 10, 2023
f38c603
Update AboutUs.md
namsengi11 Apr 10, 2023
db2155f
Merge pull request #188 from Samueltansw/master
Samueltansw Apr 10, 2023
46a5ab1
Update README.md
namsengi11 Apr 10, 2023
9797465
Update README.md
namsengi11 Apr 10, 2023
27677e6
Update README.md
namsengi11 Apr 10, 2023
834f42a
Update DeveloperGuide.md
namsengi11 Apr 10, 2023
192e185
Add date limit
namsengi11 Apr 10, 2023
4e0d340
Merge branch 'master' of https://github.com/namsengi11/tp into test
namsengi11 Apr 10, 2023
4d8770c
Update date exception message
namsengi11 Apr 10, 2023
0df51c7
Updated tests
namsengi11 Apr 10, 2023
b1e4253
Merge pull request #189 from namsengi11/test
namsengi11 Apr 10, 2023
020f182
updated UG
Samueltansw Apr 10, 2023
44cfc43
Merge remote-tracking branch 'upstream/master'
Samueltansw Apr 10, 2023
0966b3d
Merge pull request #190 from Samueltansw/master
Samueltansw Apr 10, 2023
a85966d
Update namsengi11.md
namsengi11 Apr 10, 2023
6eff9f9
Update namsengi11.md
namsengi11 Apr 10, 2023
af30554
Update namsengi11.md
namsengi11 Apr 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
/.idea/
/out/
/*.iml

# Gradle build files
/.gradle/
/build/
src/main/resources/docs/

# Any other files that should not be committed
/data/
*.jar
# MacOS custom attributes files created by Finder
.DS_Store
*.iml
Expand Down
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: seedu.brokeMan.BrokeMan

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
Budget Manager

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.

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

application {
mainClass = "seedu.duke.Duke"
mainClass = "seedu.brokeMan.BrokeMan"
}

shadowJar {
archiveBaseName = "duke"
archiveBaseName = "brokeMan"
archiveClassifier = null
}

Expand Down
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) | Yu Sichen | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Liam Van | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Samuel Tan Sze Wee | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Sangjun Nam | [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) |
247 changes: 231 additions & 16 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,253 @@
# Developer Guide

Choose a reason for hiding this comment

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

Perhaps can add more diagrams of different types


## Acknowledgements
## Table of Contents

1. [Acknowledgements](#acknowledgements)
2. [Design](#design)
- [Architecture](#architecture)
- [UI component](#ui-component)
- [Parser component](#parser-component)
- [Storage component](#storage-component)
- [Common classes](#common-classes)

Choose a reason for hiding this comment

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

The link here for the common classes does not seem to be working, perhaps edit the content in the link bracket to be #common-class for it to work?

3. [Implementation](#implementation)
4. [Appendix: Requirements](#appendix--requirements)
5. [Appendix: Instructions for manual testing](#appendix--instructions-for-manual-testing)

Choose a reason for hiding this comment

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

These 2 links also do not seem to work when I clicked it, perhaps consider changing the '--' to '-' after 'appendix'?


---

## Acknowledgements
x
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}

## Design & implementation
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the
original source as well}

Choose a reason for hiding this comment

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

there seems to be duplicate sentences here, can consider updating and filling it up whenever possible!


- [addressbook-level2](https://github.com/se-edu/addressbook-level2)
- [addressbook-level3](https://github.com/se-edu/addressbook-level3)

---

## Design

### Architecture

Choose a reason for hiding this comment

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

Architecture diagram is clear and well explained


![Architecture Diagram](images/ArchitectureDiagram.png)

The ***architecture diagram*** given above is explains the high level design of the program.

Choose a reason for hiding this comment

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

There seems to be a typo in this sentence

Copy link

Choose a reason for hiding this comment

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

You may add the Main class to the diagram


Given below is a quick overview of the main components and how they interact with each other.

**Main components of architecture**

`BrokeMan` has one class [`Main`](https://github.com/AY2223S2-CS2113-F13-2/tp/blob/master/src/main/java/seedu/brokeMan/BrokeMan.java), which is responsible for:
- At program launch: Initialises the components in the correct sequence, and connect them up with each other
- At program termination: Shuts down the components and invokes cleanup methods where necessary.

[`Common`](#common-class) represents a collection of messages used by multiple other components.

Choose a reason for hiding this comment

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

image
A little confused with the architecture diagram, in line 46 it mentions that "common represents a collection of messages used by multiple other components, but there seems to be no arrow associated with the "common" component in the diagram, is it supposed to be intended this way?


The rest of the program consists of mainly 5 main components.
- [`Ui`](#ui-component): The Ui of the program.
- [`Parser`](#parser-component): The user input parser.
- [`Command`](#command-component): The command executor.
- [`Storage`](#storage-component): Reads data from, and writes data to hard disk.
- [`EntryList`](#entrylist-component): Stores the list of entries when program is running.

### Ui component

### Parser component

### Command component

### Storage component

### EntryList component

### Common class
Copy link

Choose a reason for hiding this comment

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

This part is empty, you might want to delete or add the sequence diagrams for each component


Messages used by multiple components are in the `seedu.brokeMan.commmon` package.

---

## implementation

Choose a reason for hiding this comment

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

"i" is in lowercase

Choose a reason for hiding this comment

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

Can consider to change it to "Implementation" instead


### Entry

Entry class is the underlying superclass for Expense and Income classes. It establishes the common attributes and
methods that are necessary to represent Expenses and Incomes. Abstract class is used to represent their common features
to maximize code reusability and increase maintainability.

Private attributes

Info: String that stores the description of the entry

Amount: Double that stores the monetary value of entry

Time: LocalDateTime that stores the date and time of entry

Category: Category that stores the type tag of entry

**Methods**

Getters can be used to provide the private attributes to other classes

editDescription(), editAmount(), editTime(), editCategory()

* Takes in corresponding parameters to edit the private attributes.
* Used by EntryList to make edits

isSameMonth()

Choose a reason for hiding this comment

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

Nice work having a short summary as a description, can consider bolding "Private attributes" to make it aligned in formatting with the "Methods" that you already bolded below.
Can also consider adding bullets to indent the subpoints "Info, Amount, Time, Category" to increase readability!
Alternatively, maybe you could use a table as another way to display these details :)


{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
* Takes in Integer year and Month month and returns if the entry is made in the date specified by parameters.

### EntryList

## Product scope
### Target user profile
The EntryList class represents a collection of Entry instances. It is an abstract class that serves as a superclass for
ExpenseList and IncomeList classes, providing common functionalities to minimize repetitive code and easing code
maintenance. It provides underlying methods for adding, removing, editing, and listing entries from the list, which can
be expenses or incomes depending on the subclass.

{Describe the target user profile}
On top of the methods that provide basic functionality of expense/income lists, the EntryList class provides additional
methods such as summing all entries or filtering the entries according to LocalDate provided to the method. Most methods
of EntryList take in a List<Entry>, which is because it has to operate on a list of expenses or incomes passed by the
IncomeList or ExpenseList subclasses.

### Value proposition
**Methods**

{Describe the value proposition: what problem does it solve?}
addEntry()

## User Stories
* Takes an Entry instance as a parameter and adds it to the class-level 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|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
listEntry()

## Non-Functional Requirements
* Takes in a list of Entry and passes them to the UI to print to the user.
* Makes use of toString() method of entries.

deleteEntry()

* Takes in the list of entry and index of the entry to be deleted.
* The method acts as an underlying method for subclasses' deletion methods.

editEntry()

* Overloaded method. All methods take in the LinkedList of entries and the index of the entry that has to be edited.
Another parameter has to be provided, which can be double, LocalDateTime, or String.
* additional parameter double edits the money amount of the entry in the list.
* additional parameter LocalDateTime edits the time when the entry is made.
* additional parameter String edits the description of the entry in the list.

getTotalAmount()

* Takes in a list of entries and returns the sum of all entry's monetary value.

SortEntryByAmount()

* Returns a sorted list of entry by amount of entry.

SortEntryByDate()

Choose a reason for hiding this comment

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

are these 2 methods meant to be written as sortEntryByAmount and sortEntryByDate() instead? To follow the camelCase convention for method naming


* Returns a sorted list of entry by date of entry.

findEntriesByCategory()
* Returns a list of entries with the same category and the total amount in this category.

### ExpenseList, IncomeList

Classes ExpenseList and IncomeList is responsible for keeping track of the corresponding entry instances added to the program by the user.
At a class level, it keeps a **LinkedList** of corresponding entries.
They both extend EntryList, the abstract class that represents a collection of Entry instances.
It provides static functionalities of managing and viewing entry instances at a class level.
Instances of ExpenseList and IncomeList are not created as all functionalities can be provided at the class level.

**Methods**

listExpense() / listIncome()

* Overloaded method, may take it no parameter or LocalDate parameter
* If it has no passed parameters, it returns all entries in the list
* If a LocalDate is passed, it returns all entries made in the month specified by LocalDate instance.

### Budget

The Budget class represents the user’s monthly budget. The class utilize class-level hashmaps to represent the monthly
budget, using outer key year and inner key month. It provides a method to set and view budget for different months.

It makes use of a static HashMap<Integer, HashMap<Month, Double>> to keep track of monthly budget. If the user tries to
access budget using keys that are not entered in the HashMap, it will return a warning mentioning that the inquired
budget has not been set yet.

### SaveExpense, SaveIncome

The SaveExpense and SaveIncome class deal with saving in the user inputted data locally so that it can be later accessed.
**Methods**

Choose a reason for hiding this comment

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

image
Can consider adding a line break here so that "Methods" is on a new line


writeFile(LinkedList<Entry> expenses/incomes)
* writes to the file in a similar format that is entered in to make a new Expense object within the constructor.
*
readExpenseFile()

* This method reads in from the saved file either ExpenseData.txt or IncomeData.txt. Reads in and initialized each line as either expense or income. Then adds to the respective list.

---

|Version| As a ... | I want to ... | So that I can ... |

Choose a reason for hiding this comment

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

User stories are repeated in the DG, there are 2 tables

|--------|----------|-----------------------------------------------------------------------|--------------------------------------------------|
|v1.0|user| add, delete, edit, and list my income | manage my income |
|v1.0|user| add, delete, edit, and list my expenses | manage my expenses |
|v1.0|user| set and view my budget | set expectation of how much money I should use |
|v1.0|user| view how much of the budget I spend | manage and change my spending habit as necessary |
|v1.0|user| view all comments that I can enter | get help on the features if necessary |
|v2.0|user| list monthly expenses, income, and budget | refer to financial status in previous months |
|v2.0|user| set the category of income and expenses, and list entries by category | refer to expenses and income by category |

## Appendix: Requirements

### Product scope

**Target user profile**:

- BrokeMan is suitable for students who have to work with tight budgets
- students who want to use their money efficiently
- students who want to minimize their spending.
- students who can type fast
- prefer typing to mouse interactions
- is reasonably comfortable using CLI apps

**Value proposition**:

- Manage income and expenses faster than a typical mouse/GUI driven app
- The program will offer visualization of the user's incomes, expenses and budget, allowing them to recap and be mindful
about their financial status. The project will allow division of budget into multiple subcategories of expenses. In
essence, the program sets students up for a better financial future.

### User Stories

Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`

| Priority | Version | As a ... | I want to ... | So that I can ... |
|----------|---------|----------|-------------------------------------------|--------------------------------------------------|
| `* * *` | v1.0 | user | add, delete, edit, and list my income | manage my income |
| `* * *` | v1.0 | user | add, delete, edit, and list my expenses | manage my expenses |
| `* * *` | v1.0 | user | set and view my budget | set expectation of how much money I should use |
| `* * *` | v1.0 | user | view how much of the budget I spend | manage and change my spending habit as necessary |
| `* * *` | v1.0 | user | view all command that I can enter | get help on the features if necessary |
| `* * *` | v2.0 | user | list monthly expenses, income, and budget | refer to financial status in previous months |
| `* * *` | v2.0 | user | save all my income and expenses entered | so that I can refer to it next time I return |

Choose a reason for hiding this comment

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

This is a second User Stories table that is almost similar to the first one above, is this supposed to be combined or meant to be an additional table? Can consider providing just 1 table to reduce confusion 👍

Copy link

Choose a reason for hiding this comment

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

Well done! I find that priority is a good feature of your user stories as it gives an idea of the most important features in your product


*{more to be added}*

### Use cases

### Non-Functional Requirements

{Give non-functional requirements}

## Glossary

* *glossary item* - Definition
- **Mainstream OS**: Windows, Linux, Unix, OS-X
- Command Line Interface (CLI)

---

## Instructions for manual testing
## Appendix: 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}
Copy link

Choose a reason for hiding this comment

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

You can try to include how you give some input to the program and how the program should respond. For example:

Input: abc

Expected: Oops, I don't know what that means

31 changes: 31 additions & 0 deletions docs/diagrams/ArchitectureDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
@startuml
!include <office/Users/user>
!include <office/Concepts/documents>
hide circle
hide member


Package "BrokeMan"<<Rectangle>>{
class Ui
class Command
class Parser
class Storage
class EntryList
class Common
}

class "<$user>" as User
class "<$documents>" as File

User <-> Ui
Ui -> Parser
Parser --> Command
Command --> EntryList
Command -right-> Storage
Storage <-> File
Storage -left> EntryList
EntryList -> Ui
EntryList -left[hidden]> Common


@enduml
Binary file added docs/images/ArchitectureDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added duke.txt
Empty file.
38 changes: 38 additions & 0 deletions src/main/java/seedu/brokeMan/BrokeMan.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package seedu.brokeMan;

import seedu.brokeMan.command.Command;
import seedu.brokeMan.command.ExitCommand;
import seedu.brokeMan.parser.Parser;
import seedu.brokeMan.save.SaveBudget;
import seedu.brokeMan.save.SaveExpense;
import seedu.brokeMan.save.SaveIncome;
import seedu.brokeMan.ui.Ui;

public class BrokeMan {

/**
* Main entry-point for the java.duke.Duke application.
*/

public static void main(String[] args) {
new BrokeMan().run();
}

public static void run() {
Ui.showWelcomeMessages();
runCommandUntilExitCommand();
Ui.showGoodByeMessages();
}

public static void runCommandUntilExitCommand() {
Command command;
SaveExpense.readExpenseFile();
SaveIncome.readIncomeFile();
SaveBudget.readFile();
do {
String userFullInput = Ui.getUserCommand();
command = Parser.parseCommand(userFullInput);
command.execute();
} while (!ExitCommand.isExit(command));
}
}
Loading