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-3] NUSplanner #52

Open
wants to merge 470 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 206 commits
Commits
Show all changes
470 commits
Select commit Hold shift + click to select a range
b86f624
Fixed checkstyle
hrithie Mar 30, 2023
f2be2cd
Merge pull request #94 from hrithie/hrithieMenon-v2.0
matthew-liu-zhenjie Mar 30, 2023
4999005
tmp
kyrixn Mar 30, 2023
f8a8bae
handle confliction
kyrixn Mar 30, 2023
8054e60
Merge branch 'tt'
kyrixn Mar 30, 2023
9b2e804
add format check for -r
kyrixn Mar 30, 2023
fdedcb5
Update UserGuide
matthew-liu-zhenjie Mar 30, 2023
c6ed908
start revising UserUtility
kyrixn Mar 30, 2023
c4a1298
Fix typo in UserGuide
matthew-liu-zhenjie Mar 30, 2023
54bd7a2
Add Architecture class diagram
matthew-liu-zhenjie Mar 30, 2023
c27df2a
Update Developer Guide
matthew-liu-zhenjie Mar 30, 2023
a49f77d
Add NFR to Developer Guide
matthew-liu-zhenjie Mar 30, 2023
360a8ac
Merge pull request #95 from matthew-liu-zhenjie/Documentation
hrithie Mar 30, 2023
1918260
Added to DG
hrithie Mar 30, 2023
6590b1b
Fix bug where .jar does not load nusmods data
matthew-liu-zhenjie Mar 30, 2023
d7fdab9
Remove debugging println
matthew-liu-zhenjie Mar 30, 2023
0aa3573
Add JUnit test for StorageManager
matthew-liu-zhenjie Mar 30, 2023
49d8aa5
Update EventListAdapter
matthew-liu-zhenjie Mar 30, 2023
eff9915
Merge pull request #96 from hrithie/hrithieMenon-v2.0
kyrixn Mar 30, 2023
1b5cc38
Merge pull request #97 from matthew-liu-zhenjie/BugFixStorage
kyrixn Mar 30, 2023
76e48bf
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Mar 30, 2023
a3885ca
writing recurring evvent in tt, haven't finished
kyrixn Mar 30, 2023
247c815
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
kyrixn Mar 30, 2023
a8367ec
Improve defensiveness of Storage
matthew-liu-zhenjie Mar 30, 2023
d3bac33
Fix Checkstyle error
matthew-liu-zhenjie Mar 30, 2023
e2bde0f
Update UserGuide
matthew-liu-zhenjie Mar 30, 2023
95886c7
finished adding recurring event to tt
kyrixn Mar 30, 2023
1280905
Fixes to Ui (Incomplete)
hrithie Mar 30, 2023
3a5d99e
Merge pull request #99 from matthew-liu-zhenjie/UserGuide
kyrixn Mar 30, 2023
dc68025
Merge pull request #98 from matthew-liu-zhenjie/StorageUpgrade
kyrixn Mar 30, 2023
f85cd73
Merge pull request #100 from kyrixn/tt-for-recurring
matthew-liu-zhenjie Mar 30, 2023
ad74d1f
Checkstyle fix
hrithie Mar 30, 2023
c903e00
Checkstyle fix
hrithie Mar 30, 2023
a459e03
Merge pull request #101 from hrithie/hrithieMenon-v2.0
kyrixn Mar 30, 2023
d189560
fix confliction
kyrixn Mar 30, 2023
674f8d0
Merge pull request #102 from kyrixn/tt-for-recurring
kyrixn Mar 30, 2023
a1498f6
Merge pull request #103 from AY2223S2-CS2113-F13-3/show-recurring-in-tt
matthew-liu-zhenjie Mar 30, 2023
39a4a10
Fix week for timetable
hrithie Mar 31, 2023
cf8ba7e
Merge pull request #104 from hrithie/hrithieMenon-v2.0
matthew-liu-zhenjie Mar 31, 2023
a82124b
Timetable fix
hrithie Apr 1, 2023
61656b0
tmp
kyrixn Apr 1, 2023
0b5b635
added log to gitignore
kyrixn Apr 1, 2023
1c0dea0
Merge branch 'tt-for-recurring'
kyrixn Apr 1, 2023
87e92f2
fix PE-D issue 127: end time ommited, and extracted some function to …
kyrixn Apr 1, 2023
c01453a
Merge branch 'tt-for-recurring'
kyrixn Apr 1, 2023
c343fc5
Merge pull request #139 from hrithie/hrithieMenon-v2.0
kyrixn Apr 1, 2023
8884dff
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
kyrixn Apr 1, 2023
19ec44b
Merge branch 'tt-for-recurring'
kyrixn Apr 1, 2023
7b0a477
Merge pull request #140 from kyrixn/master
matthew-liu-zhenjie Apr 1, 2023
a9b0282
Fix for issue #110 Able to delete all even though list is empty
hrithie Apr 5, 2023
e33e8bd
Merge branch 'master' into hrithieMenon-v2.0
hrithie Apr 5, 2023
2f88ed4
Update Ui.java
hrithie Apr 5, 2023
7085812
Merge pull request #145 from hrithie/hrithieMenon-v2.0
matthew-liu-zhenjie Apr 5, 2023
b3e3811
Fix UML diagrams
matthew-liu-zhenjie Apr 5, 2023
7916aa0
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 5, 2023
6516760
fixed error that cannot add module
kyrixn Apr 5, 2023
0f7a5c4
Added JavaDoc and Fix for #114 input not trimmed
hrithie Apr 6, 2023
7585b7a
Fixed 2 tasks from TA code review
hrithie Apr 6, 2023
836552d
Fix checkstyle
hrithie Apr 6, 2023
68c0526
Fixed 1 task from TA code review
hrithie Apr 6, 2023
f97a851
Merge pull request #146 from hrithie/hrithieMenon-v2.0
kyrixn Apr 6, 2023
7d0f4e4
Merge branch 'master' into master
kyrixn Apr 6, 2023
639c2ad
Update Parser.java
kyrixn Apr 6, 2023
88af201
resolved conflict locally
kyrixn Apr 6, 2023
3f142f1
resolved conflict locally
kyrixn Apr 6, 2023
77fa44f
Update Parser.java
kyrixn Apr 6, 2023
0944323
Fixed issue #137
hrithie Apr 6, 2023
cdb9452
Merge pull request #148 from kyrixn/master
hrithie Apr 6, 2023
f70d968
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 6, 2023
ff4f95c
Fix parseDeleteCommand
matthew-liu-zhenjie Apr 6, 2023
61e1789
Fix bug in parseAddCommand
matthew-liu-zhenjie Apr 6, 2023
ab0ca15
Add PPP
matthew-liu-zhenjie Apr 6, 2023
9878743
Merge pull request #149 from hrithie/hrithieMenon-v2.0
matthew-liu-zhenjie Apr 7, 2023
06908d4
Merge pull request #150 from matthew-liu-zhenjie/master
hrithie Apr 7, 2023
ba1dd89
Merge pull request #151 from matthew-liu-zhenjie/Issue118
hrithie Apr 7, 2023
f4eb847
Merge pull request #152 from matthew-liu-zhenjie/Issue124
hrithie Apr 7, 2023
69e60c7
Merge pull request #153 from matthew-liu-zhenjie/Matthew_PPP
hrithie Apr 7, 2023
4eee560
finished code for confliction check
kyrixn Apr 7, 2023
e9d07f0
finished conliction check
kyrixn Apr 7, 2023
3825840
Merge pull request #154 from kyrixn/check-confliction
matthew-liu-zhenjie Apr 8, 2023
0654f7f
try debugging
kyrixn Apr 8, 2023
0fc2e7d
finished checking confliction, tested on all cases
kyrixn Apr 8, 2023
a706f9d
Update EventList.java
kyrixn Apr 8, 2023
a11071a
Merge pull request #155 from kyrixn/check-confliction
matthew-liu-zhenjie Apr 8, 2023
774f70e
Fix Storage JUnit tests
matthew-liu-zhenjie Apr 8, 2023
77031cf
Fix JUnit test for storage
matthew-liu-zhenjie Apr 8, 2023
be5fdb6
Fix Checkstyle Errors
matthew-liu-zhenjie Apr 8, 2023
43bfc87
Merge pull request #156 from matthew-liu-zhenjie/FixTest
kyrixn Apr 8, 2023
9450295
fixed bugs in adding modules that conflicts with other events
kyrixn Apr 8, 2023
1c87415
resolved confliction locally
kyrixn Apr 8, 2023
070ffd0
fixed bugs in checking confliction and updated UserGuide
kyrixn Apr 8, 2023
dd51c1f
Update Schedule.java
kyrixn Apr 8, 2023
dc00d86
use static final variables to replace string literals
Zemdalk Apr 9, 2023
5a1891a
refactor: extract a general Schedule constructor, fix some style issues
Zemdalk Apr 9, 2023
fcecd7f
Fix JsonEventListStorage
matthew-liu-zhenjie Apr 9, 2023
2311efe
Refactor Storage based on #144
matthew-liu-zhenjie Apr 9, 2023
82b1b65
Merge pull request #157 from kyrixn/master
kyrixn Apr 9, 2023
5b661d4
Add support for special term modules
matthew-liu-zhenjie Apr 9, 2023
7d98c42
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 9, 2023
3eabd47
Update UG
matthew-liu-zhenjie Apr 9, 2023
f408da2
Fix Checksytle Error
matthew-liu-zhenjie Apr 9, 2023
7e7911e
Update ModuleAdapter
matthew-liu-zhenjie Apr 9, 2023
4701b7d
Merge pull request #158 from matthew-liu-zhenjie/StorageImprovement
hrithie Apr 9, 2023
1961a15
refactor: extract a general Schedule constructor, fix some style issues
Zemdalk Apr 9, 2023
e998df7
Fix bug in EventListAdapter
matthew-liu-zhenjie Apr 9, 2023
37b97bb
fix some style issues
Zemdalk Apr 9, 2023
47053b3
Merge pull request #159 from matthew-liu-zhenjie/master
hrithie Apr 9, 2023
7bf9fcd
fix merge conflicts
Zemdalk Apr 9, 2023
7a09187
Merge pull request #161 from Zemdalk/master
hrithie Apr 9, 2023
bb4236a
Update DG
matthew-liu-zhenjie Apr 9, 2023
e19aaa1
Update DG
matthew-liu-zhenjie Apr 9, 2023
36e73d5
Update DG
matthew-liu-zhenjie Apr 9, 2023
b831b81
Update DG
matthew-liu-zhenjie Apr 9, 2023
6663b8b
Update EventListAdapter
matthew-liu-zhenjie Apr 9, 2023
5a6507d
First draft
hrithie Apr 9, 2023
23ffc20
Merge pull request #164 from hrithie/documentation
matthew-liu-zhenjie Apr 10, 2023
1b7df87
Merge pull request #162 from matthew-liu-zhenjie/DevGuide
kyrixn Apr 10, 2023
1ed978c
Merge pull request #163 from matthew-liu-zhenjie/StorageAgain
kyrixn Apr 10, 2023
9637558
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
8dceec5
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
a6d6cf9
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
6969864
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
72024ac
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
d22554e
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
2c047cb
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
ee9e60f
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
59b38ea
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
b7260bc
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
bbb880c
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
2fd9521
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
d16b709
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
e59d7c9
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
d27050e
Update DeveloperGuide.md
matthew-liu-zhenjie Apr 10, 2023
070a04d
Fix: checks if module is in correct sem
hrithie Apr 10, 2023
4d19f01
handle exceptions for illegal reccurring time
kyrixn Apr 10, 2023
0f5d9ec
Merge branch 'master' of https://github.com/kyrixn/tp
kyrixn Apr 10, 2023
8d4cad1
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
f5c0c59
update UG
kyrixn Apr 10, 2023
27dd3cf
Resize UML diagrams, update DG pagebreak
matthew-liu-zhenjie Apr 10, 2023
c648a13
Update DG
matthew-liu-zhenjie Apr 10, 2023
b572e7d
Update DG
matthew-liu-zhenjie Apr 10, 2023
4a05c38
Update DG
matthew-liu-zhenjie Apr 10, 2023
b31483a
Merge pull request #165 from hrithie/documentation
matthew-liu-zhenjie Apr 10, 2023
6c86cf6
Update DG, UG, Storage UML
matthew-liu-zhenjie Apr 10, 2023
e653aa2
Merge pull request #166 from matthew-liu-zhenjie/DevGuide
hrithie Apr 10, 2023
b3956e0
Fix bug in SaveToFile UML
matthew-liu-zhenjie Apr 10, 2023
a83d1e7
Fix bug in SaveToFile UML diagram
matthew-liu-zhenjie Apr 10, 2023
a3763b6
Fix UML
matthew-liu-zhenjie Apr 10, 2023
34d16cb
minor changes and draft of PPP
kyrixn Apr 10, 2023
6d93d2c
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
e3fec20
changed DG
kyrixn Apr 10, 2023
c015f50
minor changes, tidy up the code
kyrixn Apr 10, 2023
2c18266
Update UG and Storage
matthew-liu-zhenjie Apr 10, 2023
273c8dd
Update UG
matthew-liu-zhenjie Apr 10, 2023
97460a1
Merge pull request #170 from matthew-liu-zhenjie/master
kyrixn Apr 10, 2023
03b457b
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 10, 2023
8985172
Update Matthew.md
matthew-liu-zhenjie Apr 10, 2023
3fac01f
Merge pull request #169 from kyrixn/master
matthew-liu-zhenjie Apr 10, 2023
7d6e336
Merge branch 'exceptions' into MergeExceptions
matthew-liu-zhenjie Apr 10, 2023
ac48405
Merge pull request #171 from matthew-liu-zhenjie/MergeExceptions
hrithie Apr 10, 2023
bb2d476
Merge branch 'master' into DevGuide
matthew-liu-zhenjie Apr 10, 2023
72a6d79
Fix infinite loop for getSemester()
hrithie Apr 10, 2023
0e2e920
Update EXPECTED.TXT
hrithie Apr 10, 2023
4b65bea
fixed confliction checking bugs and finished ppp
kyrixn Apr 10, 2023
4df408d
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
e2be67e
editedd DG
kyrixn Apr 10, 2023
cac7cee
Merge pull request #173 from kyrixn/master
matthew-liu-zhenjie Apr 10, 2023
735775a
Fix
hrithie Apr 10, 2023
88e26ca
Update Ui.java
matthew-liu-zhenjie Apr 10, 2023
be613e5
Add help command
hrithie Apr 10, 2023
46ddbc0
Update Ui.java
hrithie Apr 10, 2023
5ce7838
Fix checkstyle
hrithie Apr 10, 2023
196045e
Fix bug where conflicting events can be made in JSON save file.
matthew-liu-zhenjie Apr 10, 2023
36bff11
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 10, 2023
4b8b5d2
Merge pull request #174 from hrithie/hrithieMenon-v2.1
matthew-liu-zhenjie Apr 10, 2023
95c21f9
Merge pull request #172 from hrithie/master
matthew-liu-zhenjie Apr 10, 2023
b90850d
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 10, 2023
b006743
Update PPP
hrithie Apr 10, 2023
e3c0251
Fix confliction in EventList
matthew-liu-zhenjie Apr 10, 2023
b89df4e
Fix bug where error message is errornously printed out.
matthew-liu-zhenjie Apr 10, 2023
0daa9b4
Resolved issues in UserGuide.md
hrithie Apr 10, 2023
2fdd1a7
Merge pull request #175 from matthew-liu-zhenjie/FixStorageConflictBug
hrithie Apr 10, 2023
9b65b02
minor changes
kyrixn Apr 10, 2023
c03ae13
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
9d769c1
Updated new output
hrithie Apr 10, 2023
c21b129
Resolve issue
hrithie Apr 10, 2023
3c3312c
Merge pull request #176 from hrithie/hrithieMenon-v2.1
matthew-liu-zhenjie Apr 10, 2023
ad7f280
Merge branch 'master' into DevGuide
matthew-liu-zhenjie Apr 10, 2023
c980031
Update UG
matthew-liu-zhenjie Apr 10, 2023
0bbcd10
Fix UG
matthew-liu-zhenjie Apr 10, 2023
f11a5a8
handled illegal week number
kyrixn Apr 10, 2023
40a892e
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
4a737e6
Format UG
matthew-liu-zhenjie Apr 10, 2023
dbcaf83
Merge pull request #177 from kyrixn/master
matthew-liu-zhenjie Apr 10, 2023
3a01779
Update UG
matthew-liu-zhenjie Apr 10, 2023
cf1f2f1
renamed constant var
kyrixn Apr 10, 2023
282e2f4
Update UG
matthew-liu-zhenjie Apr 10, 2023
53b6954
Fix UG bugs
matthew-liu-zhenjie Apr 10, 2023
8caa365
Fix DG bugs
matthew-liu-zhenjie Apr 10, 2023
7b9ba20
Fix DG bugs
matthew-liu-zhenjie Apr 10, 2023
c1b5a1e
Reformat Storage component in DG
matthew-liu-zhenjie Apr 10, 2023
c95b55a
Update UG
matthew-liu-zhenjie Apr 10, 2023
950768d
Update UG
matthew-liu-zhenjie Apr 10, 2023
2013391
Fix DG bug
matthew-liu-zhenjie Apr 10, 2023
388e016
Fix DG bug
matthew-liu-zhenjie Apr 10, 2023
ca1ae8e
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 10, 2023
1d5609d
Merge pull request #178 from matthew-liu-zhenjie/DevGuide
kyrixn Apr 10, 2023
7a48c5f
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
3f339a7
add time check in reviseTimeInfo, correccted accepted time format for…
kyrixn Apr 10, 2023
c78ad9b
Merge pull request #179 from kyrixn/master
matthew-liu-zhenjie Apr 10, 2023
0f75cc6
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp …
matthew-liu-zhenjie Apr 10, 2023
9cd4004
Update UG
matthew-liu-zhenjie Apr 10, 2023
ae4c73a
Fix UG
matthew-liu-zhenjie Apr 10, 2023
91deaeb
Fix Storage Class Diagram
matthew-liu-zhenjie Apr 10, 2023
f2d5a93
Merge pull request #180 from matthew-liu-zhenjie/DevGuide
kyrixn Apr 10, 2023
8153ab0
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 10, 2023
7269867
Edit Ui help command
matthew-liu-zhenjie Apr 10, 2023
e5d55a2
Update DG
matthew-liu-zhenjie Apr 10, 2023
21d3bb9
Add JavaDoc
matthew-liu-zhenjie Apr 10, 2023
f6e41a0
Update DG
matthew-liu-zhenjie Apr 10, 2023
53bf4cf
fix bugs in delete
kyrixn Apr 10, 2023
4f1ed59
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
1c82ebd
Merge pull request #181 from matthew-liu-zhenjie/master
kyrixn Apr 10, 2023
10a17cf
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
kyrixn Apr 10, 2023
ae2dc6d
Merge pull request #182 from kyrixn/master
matthew-liu-zhenjie Apr 10, 2023
bc4ee1a
Update DG
matthew-liu-zhenjie Apr 10, 2023
4cf784b
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 10, 2023
4c8b288
Update DG
matthew-liu-zhenjie Apr 10, 2023
96b743e
Update DG
matthew-liu-zhenjie Apr 10, 2023
c169467
Fix DG
matthew-liu-zhenjie Apr 10, 2023
5fdd245
Fix bugs in DG
matthew-liu-zhenjie Apr 10, 2023
7a2ca7d
Improve DG
matthew-liu-zhenjie Apr 10, 2023
1e713f1
Fix typo in DG, update PPP
matthew-liu-zhenjie Apr 10, 2023
168c4df
Add PPP
matthew-liu-zhenjie Apr 10, 2023
0f4389d
Update PPP
matthew-liu-zhenjie Apr 10, 2023
eb3260f
Update PPP
matthew-liu-zhenjie Apr 10, 2023
ae94fe0
DG Fix
hrithie Apr 10, 2023
ca9c97f
Merge pull request #183 from matthew-liu-zhenjie/master
hrithie Apr 10, 2023
238e8bc
Fix Bug in parseDeleteCommand
matthew-liu-zhenjie Apr 10, 2023
12d8089
Merge pull request #184 from hrithie/hrithieMenon-v2.1
matthew-liu-zhenjie Apr 10, 2023
9d88701
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 10, 2023
9908e0f
Merge pull request #185 from matthew-liu-zhenjie/master
hrithie Apr 10, 2023
6ee537c
Fix bug for empty description or whitespace desription
matthew-liu-zhenjie Apr 10, 2023
0715981
Merge pull request #186 from matthew-liu-zhenjie/master
hrithie Apr 10, 2023
743edf3
add ppp
Zemdalk Apr 10, 2023
d9ced7e
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
Zemdalk Apr 10, 2023
59df5b3
Merge pull request #188 from Zemdalk/master
Zemdalk Apr 10, 2023
7e0e8c8
add assertions
matthew-liu-zhenjie Apr 11, 2023
d1f8e0b
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F13-3/tp
matthew-liu-zhenjie Apr 11, 2023
a77443f
Merge pull request #189 from matthew-liu-zhenjie/master
hrithie Apr 11, 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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,9 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT

/src/main/java/seedu/duke/*.class

.gitignore
save.json
.vscode
15 changes: 15 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,28 @@ plugins {
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'jacoco'
}

jacoco {
toolVersion = '0.8.7'
reportsDir = file("$buildDir/customJacocoReportDir")
}

jacocoTestReport {
reports {
xml.enabled true
html.enabled true
csv.enabled false
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'com.google.code.gson:gson:2.10.1'
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0'
}
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) | 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) | Sel Gomez | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
85 changes: 83 additions & 2 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,93 @@
# Developer Guide
Welcome to the NUSPlanner Developer Guide!
We hope this documents serves useful to understand the behind-the-scenes working of our product.

## Table of Contents

## 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}'

## Getting started

Refer to the user guide [here](https://github.com/AY2223S2-CS2113-F13-3/tp/blob/master/docs/UserGuide.md).


## Design & implementation

Choose a reason for hiding this comment

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

Very clear explanation of the features! Would be helpful to have an explanation of why you implemented your feature logic this way so other developers can understand your considerations.

Choose a reason for hiding this comment

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

Perhaps you could include more elaboration such has system architecture and dependencies as well as relevant diagrams for clarity! However, it is already very clear!

Choose a reason for hiding this comment

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

I like how all the diagrams are in details and that's a whole lotta effort to do it! However it would be greater if you can have an overall architecture!


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

### Parser Component
The component will return the correct command based on what the user inputs into the application.

#### How is the feature implemented?

The Parser component parses the command of the user input and breaks the user input into different parts based on the flags.
This component also ensures to validate that user input is correct.

Choose a reason for hiding this comment

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

image
This sequence diagram is missing activation bars, it would be better if you include them

#### Why is the feature implemented this way?

This component should be able to guide the user to inputting the correct format of the command to do data validation.
It should be able to perform basic data validation checks to ensure that the user does not enter any invalid commands.
This makes life easier to developers in the future if they wish to add new features that requires users to use new commands.

### Storage Component
API: `Storage.java`

Choose a reason for hiding this comment

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

Well formatted and easy to read!


The storage component reads and writes user data from a local save in the form of a `.json` file.
The Storage component:
* Serializes and deserializes user data into a `.json` file format through the use of the Gson library
* Saves and loads information from the local hard disk

The class diagram below illustrates the structure of the storage package

![Storage Class Diagram](UML/Images/StorageClass.png)

Choose a reason for hiding this comment

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

Simple and easy to read !


#### How the feature is implemented:

Choose a reason for hiding this comment

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

image
<> if file does not exist should be encased in the alt box since it only runs under the condition that the file does not exist

Choose a reason for hiding this comment

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

image

For self-call methods should add another activation bar to prevent confusion

![Storage Class Diagram](UML/Images/StorageSequenceDiagram.png)

Choose a reason for hiding this comment

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

The diagram is good but it looks quite hectic. Consider breaking it up using reference frames with proper annotation for easier comprehension


When the application starts up, the storage loadEvents() function will be called to load contents in the save file.
Similarly, the state of the user's event list is saved when the user exits the application by calling saveToFile().

Choose a reason for hiding this comment

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

image
I would recommend using a constructor notation like what we have learnt in this module instead of "<>" notation for creating a constructor.

#### Justification for using gson
The Gson library was chosen as it allowed for flexible adaptation of its TypeAdapter class, allowing for custom
serialization and deserialization of data to be saved.

### EventList component

API: `EventList.java`

this component maintains a list of Schedule instance. It receives commands from Parser.java and adds/deletes/edits tasks and their information in the list according to the commands.

#### How is the feature implemented:

the main functions are

> - add new task (accepts event without starting time/ending time/ending date).
> - delete a single tasks / delete all tasks.
> - edit the time information of task (starting time/ending time/ending date can be omitted).
> - search for a event by index / description.
> - get all the detail of a event in the list in String form.

The class diagram below illustrates the structure of the EventList component.

<img src="UML\Images\EventListUML.png" />

Choose a reason for hiding this comment

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

Perhaps you should consider noting down the methods within the UI and Parser classes

Choose a reason for hiding this comment

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

Perhaps the activation bar can be a single one as the object is created once and called again
image


And below is a sequential diagram showing a event being added, revised, checked for information and finally deleted.

Choose a reason for hiding this comment

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

image
Not a bug but the arrow is out of place compared to the rest of diagram, to improve on the quality of the diagram you can fix it.

Choose a reason for hiding this comment

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

image
image
image

Just some spelling errors in the sequential diagram that can be fixed for better-quality work

<img src="UML\Images\EventListSD.png" style="zoom:80%;" />

Choose a reason for hiding this comment

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

Good job nice and easy to read !

Choose a reason for hiding this comment

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

image
there is a red dot in the middle of the diagram, take note!








#### Why implemented in this way:

It is necessary to have a list which contains all the current event/class so that we can show/ batch process events more efficiently. Moreover, this component serves intermediary functions and avoids other classes access deep into the functionality of classes (Event, Schedule e.t.c) inside the ArrayList, thus reduces the coupling of the code base. Additionally, this component also converted all the String parameters parsed by Parser into various Types that required by other classes that the EventList contains, further reducing the coupling.

## Product scope
### Target user profile

{Describe the target user profile}
Expand All @@ -36,3 +114,6 @@
## 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}



8 changes: 6 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Duke
# NUSPlanner

{Give product intro here}
🗓️ NUSPlanner is a desktop app that allows for an *easy* and *straightforward* way for NUS students to manage their schedule ranging from person, school or external related activities. This application makes use of a desktop Command Line Interface (CLI), enabling a quick and sleek method of getting your schedule in check.

⌨️ If you can type fast, NUSPlanner can get your contact management tasks done faster and more efficiently than traditional GUI apps.

✅ NUSPlanner is available for download for operating systems such as Windows, Linux and OS-X.

Useful links:
* [User Guide](UserGuide.md)
Expand Down
Binary file added docs/UML/Images/EventListSD.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/UML/Images/EventListUML.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/UML/Images/StorageClass.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/UML/Images/StorageSequenceDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions docs/UML/StorageClass.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
@startuml
!include Style.puml
hide circle
skinparam classAttributeIconSize 0

class Storage{
- saveLocation : String
- builder : GsonBuilder
- gson : Gson
+ void saveToFile(eventList)
+ ArrayList<Event> loadEvents()
}

class com.google.gson.TypeAdapter{
}

class EventListAdapter{
- dfWithTime : DateTimeFormatter
+ void write(JsonWriter, ArrayList<Event>)
+ void writeEvent(JsonWriter, Event)
+ ArrayList<Event> read(JsonReader)
+ Event readEvent(JsonReader)
+ String readDate(JsonReader)
+ String readTime(Jsonreader)
}


class EventList{
# taskList : ArrayList<Event>
}



Storage --> "1" EventListAdapter


EventListAdapter .l> com.google.gson.TypeAdapter
Storage . EventList : writes to <
Storage . EventList : > gets data from
@enduml
82 changes: 82 additions & 0 deletions docs/UML/StorageSequenceDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
@startuml
hide footbox
box Storage
-> ":Storage" : Storage()
create ":Storage"
activate ":Storage"
create ":GsonBuilder"
":Storage" -> ":GsonBuilder" : <<create>>
activate ":GsonBuilder"
create ":EventListAdapter"
":Storage" -> ":EventListAdapter" : <<create>>
activate ":EventListAdapter"
":EventListAdapter" --> ":GsonBuilder"
deactivate ":EventListAdapter"
":GsonBuilder" --> ":Storage"
deactivate ":GsonBuilder"
create ":Gson"
":Storage" -> ":Gson" : <<create>>
activate ":Gson"
deactivate ":GsonBuilder"
":Gson" --> ":Storage" : gson
deactivate ":Gson"
deactivate ":Storage"
end box
box java.io
participant ":File"
participant ":InputStreamReader"
participant ":FileWriter"
end box
":Storage" -> ":Storage" :loadEvents()
activate ":Storage"
create ":File"
":Storage" -> ":File" : load file from local save
activate ":File"
create ":ArrayList<Event>"
":Storage" -> ":ArrayList<Event>" : <<create>>
activate ":ArrayList<Event>"
alt !File.exists()
":ArrayList<Event>"--> ":Storage" : empty ArrayList<Event>
else File exists
create ":InputStreamReader"
":File" -> ":InputStreamReader" : <<create>>
activate ":InputStreamReader"
":InputStreamReader" -> ":Gson" : fromJson()
deactivate ":InputStreamReader"
activate ":Gson"
":Gson" --> ":ArrayList<Event>"
deactivate ":Gson"
":ArrayList<Event>" --> ":Storage"
deactivate ":ArrayList<Event>"
deactivate ":File"
deactivate ":Storage"
end

":Storage"-> ":Storage" :saveToFile()

activate ":Storage"
":Storage" -> ":File" : <<create>> if file does not exist
activate ":File"
":Storage" -> ":ArrayList<Event>"
activate ":ArrayList<Event>"
":Storage" -> ":Gson"
activate ":Gson"
":ArrayList<Event>" --> ":Gson"
deactivate ":ArrayList<Event>"

create "gsonData : String"
":Gson" -> "gsonData : String" : toJson()
deactivate ":Gson"
activate "gsonData : String"

create ":FileWriter"
":Storage" -> ":FileWriter" : <<create>>
activate ":FileWriter"
"gsonData : String" --> ":FileWriter"
deactivate "gsonData : String"
":FileWriter" --> ":File"
deactivate ":FileWriter"
":File" --> ":Storage"
deactivate ":File"
deactivate ":Storage"
@enduml
14 changes: 14 additions & 0 deletions docs/UML/UserClass.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
@startuml

class User {
-semester
+getSemester()
+setSemester()
}

class UserUtility {
-user
+getUser()
}

@enduml
Loading