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-3] SplitLiang #47

Open
wants to merge 420 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
420 commits
Select commit Hold shift + click to select a range
d8df33b
fix checkstyle errors in Parser and Expenses class
mukund1403 Mar 30, 2024
eaee787
fix issues found during code review
mukund1403 Mar 30, 2024
c92c289
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp
mukund1403 Mar 30, 2024
64cbad9
Create UserInterface Class
Cohii2 Mar 30, 2024
841743a
Merge pull request #68 from mukund1403/master
Cohii2 Mar 30, 2024
66c1924
Add test code
MonkeScripts Mar 30, 2024
cb3faae
Fix checkstyle
MonkeScripts Mar 30, 2024
a458e11
Create Pair class
Cohii2 Mar 30, 2024
52bd875
Fix checkstyle errors
Cohii2 Mar 30, 2024
d71d7d6
Merge branch 'master' into hafiz-Database
hafizuddin-a Mar 30, 2024
9c88ef7
Fix IO tests
Cohii2 Mar 30, 2024
25c367a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
hafizuddin-a Mar 30, 2024
1414676
Update GroupStorage
hafizuddin-a Mar 30, 2024
1b27b08
Merge branch 'hafiz-Database' of https://github.com/hafizuddin-a/tp i…
hafizuddin-a Mar 30, 2024
2e8ba85
Edit comments
Cohii2 Mar 30, 2024
a8f5370
Fix checkstyle
hafizuddin-a Mar 30, 2024
1e91516
Merge pull request #70 from Cohii2/hengJunxiang-pair
MonkeScripts Mar 30, 2024
759ff18
Merge branch 'master' into hafiz-Database
hafizuddin-a Mar 30, 2024
c266a50
Merge pull request #64 from hafizuddin-a/hafiz-Database
avrilgk Mar 30, 2024
eeb6e75
Merge pull request #65 from MonkeScripts/currency
Cohii2 Mar 30, 2024
0e58e56
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp
mukund1403 Mar 31, 2024
e165331
Gambling feature
MonkeScripts Mar 31, 2024
2192535
update pair from javafx to inbuilt class and fix issue with equal split
mukund1403 Mar 31, 2024
984b55d
Clean out comments
MonkeScripts Mar 31, 2024
1266dd6
Add citation
Cohii2 Mar 31, 2024
1b6bb56
Merge pull request #73 from Cohii2/master
Cohii2 Mar 31, 2024
b89385d
Clean out checkstyle bugs
MonkeScripts Mar 31, 2024
a486c1b
Fix helpTest
MonkeScripts Mar 31, 2024
e5a705c
Change EXPECTED.TXT for new help
MonkeScripts Mar 31, 2024
7eee70c
Update Balance Unit Tests
Cohii2 Mar 31, 2024
f853f23
Revert "Update Balance Unit Tests"
Cohii2 Mar 31, 2024
cd84180
Update Balance Unit Test
Cohii2 Mar 31, 2024
2c2c141
Merge pull request #71 from MonkeScripts/gambling
Cohii2 Mar 31, 2024
9e5e0e4
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp
Cohii2 Mar 31, 2024
f165d19
fix checkstyle error
mukund1403 Mar 31, 2024
2475e65
Merge pull request #69 from Cohii2/hengJunxiang-ui
mukund1403 Mar 31, 2024
87c0164
Merge pull request #72 from mukund1403/master
MonkeScripts Mar 31, 2024
3d2ecdc
Merge pull request #75 from Cohii2/master
MonkeScripts Mar 31, 2024
a91d017
Settle up function
avrilgk Mar 31, 2024
980abdf
Fix test fails
avrilgk Mar 31, 2024
894c214
Fix test fails
avrilgk Mar 31, 2024
5030a65
Fix test fails
avrilgk Mar 31, 2024
5763375
Updated settle function
avrilgk Mar 31, 2024
df07df3
add expense command class, list command class, commands package
mukund1403 Apr 1, 2024
ea0d0f6
Merge pull request #77 from avrilgk/bugfix-and-settleup
mukund1403 Apr 1, 2024
176f3af
fix merge conflicts
mukund1403 Apr 1, 2024
08034e1
Updated DG for settle function
avrilgk Apr 1, 2024
7c42336
Merge pull request #83 from mukund1403/master
Cohii2 Apr 1, 2024
e426a4f
Merge pull request #84 from avrilgk/update-settle
hafizuddin-a Apr 1, 2024
4cbcb30
Add UniversalExceptions to exceptions package
hafizuddin-a Apr 1, 2024
39ce4d6
Optional for loadedgroup
hafizuddin-a Apr 1, 2024
266bf30
Update UG and DG
Apr 3, 2024
e9074be
Merge pull request #85 from avrilgk/Avril-UG
hafizuddin-a Apr 3, 2024
0f2568d
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
hafizuddin-a Apr 3, 2024
8c7bc24
Update UG
hafizuddin-a Apr 3, 2024
833d423
Fix checkstyle
hafizuddin-a Apr 3, 2024
814c0bf
Add diagram
hafizuddin-a Apr 3, 2024
fdcc46c
Update User Guide
Cohii2 Apr 3, 2024
a45c308
Merge pull request #88 from Cohii2/master
Cohii2 Apr 3, 2024
2cef30d
add expense feature to user guide
mukund1403 Apr 3, 2024
355e570
Merge pull request #89 from mukund1403/master
mukund1403 Apr 3, 2024
3bba048
Fix issue with end programme
Cohii2 Apr 3, 2024
0aba7cc
Fix checkstyle error
Cohii2 Apr 3, 2024
f8c861e
Add GroupNameChecker
hafizuddin-a Apr 3, 2024
c3ef76f
Fix GroupNameChecker
hafizuddin-a Apr 3, 2024
87d52c3
Refactoring of settle to remove arrowhead code and settle JUNIT testing
Apr 3, 2024
109a41e
Update UG
MonkeScripts Apr 3, 2024
38793a6
Fix Balance Test
Cohii2 Apr 3, 2024
5dab2c4
Update loadGroupName
hafizuddin-a Apr 3, 2024
4ddb382
Fix Checkstyle
hafizuddin-a Apr 3, 2024
c904a23
Merge pull request #90 from Cohii2/hengJunxiang-storage
mukund1403 Apr 3, 2024
a31a57d
add member check to expense class
mukund1403 Apr 3, 2024
a4632aa
Merge pull request #94 from mukund1403/master
Cohii2 Apr 3, 2024
f889558
Merge branch 'master' into hafiz-MoreDatabase
Cohii2 Apr 3, 2024
78f8bc0
Merge pull request #93 from hafizuddin-a/hafiz-MoreDatabase
Cohii2 Apr 3, 2024
1df1518
Merge pull request #91 from avrilgk/group-edit
mukund1403 Apr 3, 2024
7efd25d
Merge branch 'master' into hafiz-Guides
mukund1403 Apr 3, 2024
ff0f8cd
Merge pull request #87 from hafizuddin-a/hafiz-Guides
mukund1403 Apr 3, 2024
e9a3fe4
Merge pull request #92 from MonkeScripts/gambling
mukund1403 Apr 3, 2024
98153e5
Merge pull request #86 from hafizuddin-a/hafiz-FixDatabase
mukund1403 Apr 3, 2024
7f51707
Add PPP
hafizuddin-a Apr 11, 2024
8b983aa
Fix checkstyle
hafizuddin-a Apr 11, 2024
05764fb
Merge pull request #152 from hafizuddin-a/hafiz-PPP
avrilgk Apr 11, 2024
33def81
Bye command exit at start
hafizuddin-a Apr 11, 2024
da9a8f0
Update non-existent group error message
hafizuddin-a Apr 11, 2024
408d411
Updated PPP
avrilgk Apr 11, 2024
f82dcf2
Ignore case for member
hafizuddin-a Apr 11, 2024
aa74779
Add isLoading flag
hafizuddin-a Apr 11, 2024
e38f85e
Update isLoading in finally
hafizuddin-a Apr 11, 2024
34529e3
Fix double message group bug
hafizuddin-a Apr 11, 2024
5353d67
Merge pull request #154 from hafizuddin-a/hafiz-PEDDatabase
mukund1403 Apr 13, 2024
c7508cb
Merge pull request #153 from avrilgk/PPP
hafizuddin-a Apr 13, 2024
9d6a8f9
fixed exit and enter group bugs
avrilgk Apr 13, 2024
069b21d
Merge pull request #155 from avrilgk/fixing-group-bugs
hafizuddin-a Apr 13, 2024
37a56eb
Exceptions for tampered file
hafizuddin-a Apr 13, 2024
f00576e
Remove unused import
hafizuddin-a Apr 13, 2024
7b70702
More exceptions
hafizuddin-a Apr 13, 2024
55b4c48
Merge pull request #156 from hafizuddin-a/hafiz-ImproveDatabase
avrilgk Apr 13, 2024
345f366
Fix Loading
hafizuddin-a Apr 13, 2024
a4ee46e
Add content page and summary table
hafizuddin-a Apr 13, 2024
683afd6
Add more format for member
hafizuddin-a Apr 13, 2024
3e3b4bc
Add delete file
hafizuddin-a Apr 13, 2024
e217084
Merge pull request #157 from hafizuddin-a/hafiz-DatabaseOops
avrilgk Apr 13, 2024
13c4d82
Update delete command
hafizuddin-a Apr 13, 2024
8b58e95
Add Javadoc for delete exception
hafizuddin-a Apr 13, 2024
fcac4c8
Use Universalexceptions
hafizuddin-a Apr 13, 2024
12fd5ac
Fix checkstyle
hafizuddin-a Apr 13, 2024
971ab09
add delete expense feature and fix all issues from pe-d
mukund1403 Apr 13, 2024
8759b53
Update DG
hafizuddin-a Apr 13, 2024
009aa7d
Add images
hafizuddin-a Apr 13, 2024
5b5408d
Settle update
avrilgk Apr 14, 2024
ff8b687
Merge pull request #159 from hafizuddin-a/hafiz-UG
mukund1403 Apr 14, 2024
7a851c0
add junit testing for ExpenseCommand
mukund1403 Apr 14, 2024
6e257d2
Merge pull request #161 from mukund1403/master
MonkeScripts Apr 14, 2024
a5f9941
update settle function and fixed all PE-D bugs
avrilgk Apr 14, 2024
cfba96d
Merge pull request #160 from hafizuddin-a/hafiz-DeleteGroup
avrilgk Apr 14, 2024
447bd44
fixed group tests
avrilgk Apr 14, 2024
fbd56d7
Add diagrams folder
hafizuddin-a Apr 14, 2024
ff62cf2
Separate argument handling into BalanceCommand class
Cohii2 Apr 14, 2024
8b64601
fixed spelling
avrilgk Apr 14, 2024
d0d582b
Update printing to new UI
Cohii2 Apr 14, 2024
3809f99
fixed spelling
avrilgk Apr 14, 2024
6df3306
Add docs to important functions in Balance and BalanceCommand classes
Cohii2 Apr 14, 2024
7ef810e
Fix Bug
Cohii2 Apr 14, 2024
40efa13
Merge branch 'master' into updatesettle-fixpedbugs
MonkeScripts Apr 14, 2024
476b66c
Merge pull request #166 from avrilgk/updatesettle-fixpedbugs
MonkeScripts Apr 14, 2024
4493585
Change Balance printing
Cohii2 Apr 14, 2024
1dad63f
Edit sequence diagrams
hafizuddin-a Apr 14, 2024
65d0599
Add class diagram
hafizuddin-a Apr 14, 2024
0d4b0c0
fix typo
hafizuddin-a Apr 14, 2024
e873094
Merge pull request #162 from hafizuddin-a/hafiz-DG2.1
mukund1403 Apr 14, 2024
b7ac165
integrate money into expense. fix checkstyle errors
mukund1403 Apr 14, 2024
80392eb
fix merge conflicts
mukund1403 Apr 14, 2024
21f985b
Merge pull request #169 from mukund1403/master
hafizuddin-a Apr 14, 2024
127a073
Merge pull request #168 from Cohii2/hengJunxiang-Balance
MonkeScripts Apr 14, 2024
45c3684
Fix comments
hafizuddin-a Apr 14, 2024
42ff1d5
Rewrite Balance to work with Money
Cohii2 Apr 14, 2024
f97caba
Unit Tests for Balance class
Cohii2 Apr 14, 2024
2c24c81
Remove unnecessary checks
hafizuddin-a Apr 15, 2024
f89fca4
Add test cases and other sections
hafizuddin-a Apr 15, 2024
0777372
Merge pull request #170 from Cohii2/master
MonkeScripts Apr 15, 2024
bdede1b
Rewrite settle command in Parser
Cohii2 Apr 15, 2024
54f31e5
Implement Settle to work with Money
Cohii2 Apr 15, 2024
3dbd1a7
Merge pull request #171 from hafizuddin-a/hafiz-FixDiagrams
MonkeScripts Apr 15, 2024
121c495
Merge pull request #172 from Cohii2/hengJunxiang-settle
MonkeScripts Apr 15, 2024
1fe5537
Create settle-all function
MonkeScripts Apr 15, 2024
1933cb0
Update Luck and abstract Luck commands
MonkeScripts Apr 15, 2024
ac917a4
Merge branch 'Gambling-with-balance' into slot-money-settle
MonkeScripts Apr 15, 2024
f79b5f4
Update Docs
Cohii2 Apr 15, 2024
0dfd664
Print cats and fix checkstyle
hafizuddin-a Apr 15, 2024
52c29c8
Fix currency test
hafizuddin-a Apr 15, 2024
9fcc772
update user guide and Expense class without boolean flag
mukund1403 Apr 15, 2024
845bbf1
Fix Parser Test
Cohii2 Apr 15, 2024
80c4acf
Merge pull request #174 from mukund1403/master
hafizuddin-a Apr 15, 2024
ed027ae
Merge pull request #175 from Cohii2/hengJunxiang-Parser
MonkeScripts Apr 15, 2024
2370c6d
Update messages
hafizuddin-a Apr 15, 2024
3b370ef
Merge branch 'master' into hafiz-Cats
hafizuddin-a Apr 15, 2024
4f5167d
Fix Bug
Cohii2 Apr 15, 2024
8451c8b
Merge pull request #176 from Cohii2/hengJunxiang-Parser
hafizuddin-a Apr 15, 2024
ac52b8a
Merge pull request #173 from hafizuddin-a/hafiz-Cats
hafizuddin-a Apr 15, 2024
dd32693
Update Printing
Cohii2 Apr 15, 2024
f29dbf1
Update UG
hafizuddin-a Apr 15, 2024
8433e84
update UG
mukund1403 Apr 15, 2024
027ac5d
Slot Machine feature
MonkeScripts Apr 15, 2024
9f3d80a
Update Help test, remove helper function in Luck
MonkeScripts Apr 15, 2024
3db653a
Move luck test file location
MonkeScripts Apr 15, 2024
d594daf
Reorder static variables
MonkeScripts Apr 15, 2024
38b5767
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
MonkeScripts Apr 15, 2024
fb9ee98
Clear checkstyle
MonkeScripts Apr 15, 2024
517c60d
Fixe checkstyle violation
MonkeScripts Apr 15, 2024
859a750
fix merge conflicts
mukund1403 Apr 15, 2024
ce1e8d7
Merge pull request #177 from Cohii2/hengJunxiang-ui
mukund1403 Apr 15, 2024
d3305eb
update print statement
mukund1403 Apr 15, 2024
26440ee
Fixed group and moved to command package
avrilgk Apr 15, 2024
ee3befd
Merge pull request #181 from avrilgk/Avril-bugfixing
mukund1403 Apr 15, 2024
3e48d14
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp
mukund1403 Apr 15, 2024
dcd8f4c
Merge pull request #179 from mukund1403/master
hafizuddin-a Apr 15, 2024
4460b07
Update PPP
hafizuddin-a Apr 15, 2024
ec62f23
Merge pull request #178 from hafizuddin-a/hafiz-MoreUG
avrilgk Apr 15, 2024
4ddec92
add Javadoc for ExpenseCommand
mukund1403 Apr 15, 2024
2bbdb1d
Merge pull request #182 from mukund1403/master
avrilgk Apr 15, 2024
7d83e41
Add ppp
MonkeScripts Apr 15, 2024
704a8aa
fix UG table
mukund1403 Apr 15, 2024
04887b4
Merge pull request #183 from mukund1403/master
hafizuddin-a Apr 15, 2024
7434cce
Fixed UG regarding Group
avrilgk Apr 15, 2024
dbc48b6
Fixed UG regarding Group
avrilgk Apr 15, 2024
06f6049
Merge branch 'master' into slot-money-settle
MonkeScripts Apr 15, 2024
c204142
Add ppp
MonkeScripts Apr 15, 2024
ae17a21
Merge remote-tracking branch 'origin/slot-money-settle' into slot-mon…
MonkeScripts Apr 15, 2024
cdbf47c
Updated Avril's PPP
avrilgk Apr 15, 2024
c61d96e
Update UG
hafizuddin-a Apr 15, 2024
e1da67a
More stuff
hafizuddin-a Apr 15, 2024
1228104
Merge pull request #180 from MonkeScripts/slot-money-settle
Cohii2 Apr 15, 2024
1689508
Merge branch 'master' into hafiz-UGAgain
hafizuddin-a Apr 15, 2024
1ae408f
Merge pull request #184 from avrilgk/UG-update
hafizuddin-a Apr 15, 2024
7c99da4
Merge branch 'master' into hafiz-UGAgain
avrilgk Apr 15, 2024
bbcaa9b
Merge pull request #185 from hafizuddin-a/hafiz-UGAgain
avrilgk Apr 15, 2024
e2c24de
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
hafizuddin-a Apr 15, 2024
b40d051
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
hafizuddin-a Apr 15, 2024
0694a78
Merge pull request #186 from hafizuddin-a/hafiz-UGAgain
avrilgk Apr 15, 2024
a6f8a70
correct UG
MonkeScripts Apr 15, 2024
f426639
Update luck test
MonkeScripts Apr 15, 2024
e6242df
add PPP
mukund1403 Apr 15, 2024
02e26e7
Add image
hafizuddin-a Apr 15, 2024
a764dd1
Updater main page
hafizuddin-a Apr 15, 2024
f53fc3f
remove unmappable char
MonkeScripts Apr 15, 2024
eaaf644
remove unused import
MonkeScripts Apr 15, 2024
e2f6a0e
remove checkstyle issues
MonkeScripts Apr 15, 2024
3a2502f
Merge pull request #187 from MonkeScripts/master
hafizuddin-a Apr 15, 2024
4a3f5e1
Merge pull request #189 from hafizuddin-a/hafiz-UGAgain
mukund1403 Apr 15, 2024
e13fb50
Update AboutUs
Cohii2 Apr 15, 2024
90afc04
Add UML Diagrams
Cohii2 Apr 15, 2024
b0cccf6
Merge pull request #190 from Cohii2/hengJunxiang-docs
Cohii2 Apr 15, 2024
861e9ea
Fix DB
hafizuddin-a Apr 15, 2024
e0c8abd
UML files and images
MonkeScripts Apr 15, 2024
6d7890c
Update Docs
Cohii2 Apr 15, 2024
479efbd
updated UML DG
MonkeScripts Apr 15, 2024
19e7b62
Merge pull request #193 from Cohii2/hengJunxiang-docs
Cohii2 Apr 15, 2024
049181d
Merge pull request #194 from MonkeScripts/master
Cohii2 Apr 15, 2024
3268f87
Merge pull request #188 from mukund1403/master
mukund1403 Apr 15, 2024
7e84f3b
Merge pull request #192 from avrilgk/avril-ppp-update
mukund1403 Apr 15, 2024
e62f934
Fix check
hafizuddin-a Apr 15, 2024
078e2e8
Update AboutUs.md
mukund1403 Apr 15, 2024
bd42253
Update Docs
Cohii2 Apr 15, 2024
985f673
Merge pull request #195 from Cohii2/hengJunxiang-docs
Cohii2 Apr 15, 2024
a7ca71d
update dg
mukund1403 Apr 15, 2024
0a69f69
updated Luck structure diagram
MonkeScripts Apr 15, 2024
72b6b57
Update no special char
hafizuddin-a Apr 15, 2024
f977aa2
update luck structure image
MonkeScripts Apr 15, 2024
c78c6ee
update docs
avrilgk Apr 15, 2024
fd6c067
Merge branch 'master' into UML-diagrams
avrilgk Apr 15, 2024
f44d8a4
Fix Formatting for DG
Cohii2 Apr 15, 2024
16f0ef7
Merge pull request #196 from avrilgk/UML-diagrams
avrilgk Apr 15, 2024
e57cf79
update dg
mukund1403 Apr 15, 2024
ba9bc10
Merge pull request #197 from Cohii2/hengJunxiang-docs
Cohii2 Apr 15, 2024
d4e150f
Add range of expense
hafizuddin-a Apr 15, 2024
a2f0dda
fix formatting image issue
MonkeScripts Apr 15, 2024
060536b
Change Location of Balance Structure Diagram
Cohii2 Apr 15, 2024
e1abea6
Merge branch 'master' of https://github.com/AY2324S2-CS2113-T15-3/tp …
Cohii2 Apr 15, 2024
df45ef3
Fix Error
Cohii2 Apr 15, 2024
03d6b99
Merge pull request #191 from hafizuddin-a/hafiz-UGAgain
hafizuddin-a Apr 15, 2024
6e675ad
Merge pull request #199 from MonkeScripts/master
MonkeScripts Apr 15, 2024
5131e72
Fix Checkstyle
Cohii2 Apr 15, 2024
d2b5be8
Merge pull request #198 from mukund1403/master
MonkeScripts Apr 15, 2024
07c2791
Merge pull request #200 from Cohii2/hengJunxiang-docs
MonkeScripts Apr 15, 2024
e4f616f
updated PPP
MonkeScripts Apr 15, 2024
d7c90f0
Merge pull request #201 from MonkeScripts/master
MonkeScripts Apr 15, 2024
a47d19b
Update mukund1403.md
mukund1403 Apr 15, 2024
89fc295
Fix Error
Cohii2 Apr 15, 2024
a9be9c7
Merge pull request #202 from Cohii2/master
mukund1403 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
data/
10 changes: 10 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ plugins {
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '7.1.2'
// id 'org.openjfx.javafxplugin' version '0.1.0'
}

repositories {
Expand Down Expand Up @@ -43,4 +44,10 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}

//javafx {
// version = "21"
// modules = [ 'javafx.controls' ]
//}
16 changes: 9 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# About us

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

Display | Name | Github Profile | Portfolio
--------|:-------------:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | Hafiz | [Github](https://github.com/hafizuddin-a) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Heng Junxiang | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Akshan | [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)

Binary file added docs/AddMember.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
113 changes: 108 additions & 5 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,131 @@

## Acknowledgements

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

## Design & implementation

Choose a reason for hiding this comment

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

Perhaps can also consider having class diagrams, coupled with the suggestion for Architecture Diagram, to provide new developers with a more holistic view of the project


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

### Help menu feature

Choose a reason for hiding this comment

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

there could be an architecture diagram of the high-level design of the app, of how the different features interact, to make the overall app design clearer


#### Implementation

The "help" feature is facilitated by the `Help` class.
It provides a static method `printHelp` to print out a guide on how to use the commands in the application.
`printHelp` can be used in the event the user issues an invalid command

### Group Creation feature

#### Implementation

The "Group Creation" feature is facilitated by the `Group` class. It provides methods to create a new group and manage
group membership. The implementation of this feature is as follows:

The Group class maintains a list of members as a `private List<User>` field called `members`.

The `createGroup(String groupName)` method is responsible for creating a new group. It performs the following steps:

1. Checks if a group with the given `groupName` already exists using the `isGroup(String groupName)` method.
2. If the group does not exist, creates a new `Group` object with the provided `groupName`.
3. Prints a success message indicating that the group has been created.
4. Adds the new `Group` object to the `groups` list.
5. Returns the newly created `Group` object.
6. If the group already exists, prints an error message indicating that the group already exists.
Copy link

Choose a reason for hiding this comment

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

Good job on providing detailed steps! It would be helpful to specify how errors are handled in the system. For example, are exceptions thrown, or are error codes returned?


### Add Member to Group feature

Choose a reason for hiding this comment

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

it is not very clear how the user commands are parsed, as there is no information about how the basic components (such as Ui, Model, Logic, Storage) interact with each other before explaining the features


#### Implementation

The "Add Member to Group" feature is facilitated by the `Group` class. It provides methods to manage group membership
and allows users to add new members to an existing group. The implementation of this feature is as follows:

The Group class maintains a list of members as a `private List<User>` field called `members`.

Users can add a new member to the group by using the command `member USER_NAME`. The `addMember(String memberName)` method is responsible for adding a new member to the group. It performs the following steps:

1. Checks if a user with the given `memberName` is already a member of the group using the `isMember(String memberName)`
method.
2. If the user is not a member, creates a new `User` object with the provided `memberName`.
3. Adds the new `User` object to the `members` list.
4. Prints a success message indicating that the member has been added to the group.

![Sequence Diagram](AddMember.png)
Copy link

Choose a reason for hiding this comment

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

Sequence Diagram is well done and formatted nicely! It would be good to show the "isMember( )" method in the sequence diagram as well :)

Choose a reason for hiding this comment

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

image
the alt frame should have an [else] condition


Choose a reason for hiding this comment

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

Activation bar of Group should not extend beyond the [else] part of alt frame, as Group is not being used.

### Expenses feature

#### Implementation

The Expenses feature is facilitated through the Expense class. It allows users to add a new Expense through creation of
a new Expense object. Users can specify amount paid, the payee, and the members of the group involved in the
transaction.
Additionally, it implements the following operations:

+ `Expenses#payer()` - Gives the name of the member who paid for the expense
+ `Expenses#totalAmount()` - Returns the total amount of the expense
+ `Expenses#payees()` - Returns all the members involved in the transaction

These operations are exposed in the Expense class through the `getPayerName()`, `getTotalAmount()`, and `getPayees()`
functions respectively.
Copy link

Choose a reason for hiding this comment

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

The implementation for this feature is clearly stated and easy to follow. Would it be better to also include a sequence diagram to trace the code?


### Balance feature

#### Implementation

The Balance feature is facilitated through the Balance class.
It allows a user to view a printed list of other users in the Group, and the amount that is owed by/to each user.

Each `Balance` object contains a String of a user `userName`,
and a Map `balanceList`. This Map uses String of other users' usernames as Key, and
a Float of the amount that is owed by/to each user.

To print a user's Balance List, perform the following steps:

1. Create a `Balance` object with the params String `userName` and the current Group `group`.
2. From the `members` and `expenseList` List items in `group`, the Map `balanceList` is populated.
3. Call method `printBalance()` to print the contents of the Map `balanceList`.

### Settle feature

#### Implementation

The Settle feature is facilitated through the Settle class.
It allows a user to settle the debts between two users in a Group.

The `Settle` class contains a `settleDebt(String userName1, String userName2)` method.
Copy link

Choose a reason for hiding this comment

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

Nice feature! However, the Settle class does not include a settleDebt( ) method that takes in 2 string inputs. It would be helpful to either include this method in the Settle class or clarify where it is implemented.

This method takes in two Strings `userName1` and `userName2` as parameters, representing the two users to settle the
debt between.

The method then prints out the amount that is owed by `userName1` to `userName2`, and the amount that is owed
by `userName2` to `userName1`. It then prints out the total amount that is owed between the two users, and prompts the user to enter the amount to
settle the debt.

The method then prints out the amount that is owed by `userName1` to `userName2`, and the amount that is owed
by `userName2` to `userName1` after the settlement.

## Product scope

### Target user profile

{Describe the target user profile}

Choose a reason for hiding this comment

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

Perhaps can consider removing the prompts for the different sections once you guys have started writing more stuff for that particular section.

Our target users are people who share expenses with friends, family, roommates, or colleagues.
The application gives an accurate and simple way to represent unsettled debts between users and their friends

### Value proposition

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

## User Stories

|Version| As a ... | I want to ... | So that I can ...|
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
| Version | As a ... | I want to ... | So that I can ... |
|---------|----------|----------------------------------------------------------------|-------------------------------------------------------------|
| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application |
| v1.0 | user | add a new expense with description, amount, and users involved | split the expense equally |
| v1.0 | user | create a new group | split expenses with different groups |
| v1.0 | user | list all expenses within a group | see recent transactions |
| v1.0 | user | check how much I owe each member in the group | keep track of my debts |
| v2.0 | user | find a to-do item by name | locate a to-do without having to go through the entire list |

## Non-Functional Requirements

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
# Split-liang (An app to help you split expenses with friends in a fun way!)

{Give product intro here}

Expand Down
145 changes: 132 additions & 13 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

## Introduction

{Give a product intro}
Split-liang is an application that helps you split expenses with friends in a fun way!


## Quick Start

Expand All @@ -15,28 +16,146 @@

{Give detailed description of each feature}

### Adding a todo: `todo`
Adds a new item to the list of todo items.
### Viewing help: `help`
Shows a message explaining how to use the application.

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

* The `DEADLINE` can be in a natural language format.
* The `TODO_NAME` cannot contain punctuation.
### Creating a group: `create group`

Example of usage:
Creates a new group with the specified group name.

`todo n/Write the rest of the User Guide d/next week`
Format: `create group GROUP_NAME`

`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`
- `GROUP_NAME` is the name of the group.

## FAQ
Example: `create Friends`

This command will create a new group named 'Friends'.

### Entering a group: `enter`

Enters an existing group with the specified group name.

Format: `enter GROUP_NAME`

- `GROUP_NAME` is the name of the group.

Example: `enter Friends`

This command will enter the group named 'Friends'.

### Add members to group: `member`

Adds a new member to the group.

Format: `member USER_NAME`
- `USER_NAME` is the name of the user to be added to the group.

Example: `member Alice`

This command will add a new member named 'Alice' to the group.

Output: `Alice has been added to group.`


### Exiting a group: `exit`

Exits the current group.

Format: `exit GROUP_NAME`

Example: `exit Friends`

This command will exit the current group.

### Show balance of user: `balance`

Shows list of members the user owes money to.

Format: `balance USER_NAME`

Example: `balance Shaoliang`

This command will display the balance of the user named Shaoliang.

**Q**: How do I transfer my data to another computer?
### Settle expenses: `settle`

Settles the expenses between two users in the group.

Format: `settle USER_NAME1 /user USER_NAME2`

- `USER_NAME1` is the name of the first user.
- `USER_NAME2` is the name of the second user.
- `/user` is a keyword to indicate the start of the second user's name.

Example: `settle Alice /user Bob`

This command will settle the expenses between Alice and Bob, showing what Alice owes Bob.

### Trying your luck: `luck`

Play slots to remove debts

Format: `luck` (Coming soon feature)

- Enters the slot machine
- `/reroll` to reroll the slots
- `/exit` to exit the slot machine
- Example: `/reroll`

This command enable users play slots to remove their debts

### Create expenses: `expense`

Create a new expense for a given group.

#### Create expense split equally
Format:`expense DESCRIPITON /amount AMOUNT /paid PAYER_USER_NAME /user USER_NAME /user USER_NAME`

`PAYER_USER_NAME` is the username of the person who paid for the transaction.
`USER_NAME` is the username of the payee.

- The amount will be split equally between all members including the payer.
- The expense will be added to a list of expenses.

#### Create expense split unequally
Format:`expense DESCRIPITON /unequal /amount TOTAL_AMOUNT
/paid PAYER_USER_NAME /user USER_NAME AMOUNT_OWED /user USER_NAME AMOUNT_OWED`

`PAYER_USER_NAME` is the username of the person who paid for the transaction.
`USER_NAME` is the username of the payee.
`AMOUNT_OWED` is the amount owed by the

- The amount will be split unequally between all members including the payer based on the `AMOUNT_OWED`.
- The expense will be added to a list of expenses.

### Saving the data

Split-liang automatically saves the data in each group to `GROUP_NAME.txt` in the `data` folder after the application exits. There is no need to save manually.

The data is loaded automatically when the application starts.

### Saying goodbye: `bye`

This command exits the application.


## FAQ

**A**: {your answer here}
1. **Q: How do I create a new group?**
- A: To create a new group, use the `create group` command followed by the group name.
2. **Q: How do I transfer my data to another device?**
- A: You can copy the `data` folder to the new device to transfer your data.

## Command Summary

{Give a 'cheat sheet' of commands here}

* Add todo `todo n/TODO_NAME d/DEADLINE`
- `help`: Shows a message explaining how to use the application.
- `create group GROUP_NAME`: Creates a new group with the specified group name.
- `enter GROUP_NAME`: Enters an existing group with the specified group name.
- `member USER_NAME`: Adds a new member to the group.
- `exit`: Exits the current group.
- `settle USER_NAME1 /user USER_NAME2`: Settles the expenses between two users in the group.
- `bye`: Exits the application.
Loading
Loading