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-T17-2] PlanIT #14

Open
wants to merge 298 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 84 commits
Commits
Show all changes
298 commits
Select commit Hold shift + click to select a range
b586b21
developer guide mcs
ishitamandal06 Oct 20, 2022
238b7a9
Merge pull request #32 from ishitamandal06/master
ishitamandal06 Oct 20, 2022
1593298
added View in Developer Guide
Oct 20, 2022
cc2c5af
Merge pull request #33 from insafhere/master
insafhere Oct 20, 2022
b925fbf
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Oct 20, 2022
6bab83e
partial javadoc and uml
ishitamandal06 Oct 20, 2022
222130a
Merge pull request #34 from ishitamandal06/master
ishitamandal06 Oct 20, 2022
2cecb45
JAVADOC comments
ishitamandal06 Oct 23, 2022
3d5bd15
Merge pull request #35 from ishitamandal06/master
ishitamandal06 Oct 23, 2022
cb1ef0d
Added find function
Brandon-OS Oct 25, 2022
63867cb
Merge pull request #36 from Brandon-OS/master
Brandon-OS Oct 25, 2022
2e23aa2
added exceptions into find function
Brandon-OS Oct 26, 2022
e1c5d45
added checks for NOC and SEP eligibility
Brandon-OS Oct 26, 2022
463b038
Merge pull request #37 from Brandon-OS/master
Brandon-OS Oct 26, 2022
b8ef50f
Finished Check Function
Brandon-OS Oct 26, 2022
5d4801a
Merge pull request #43 from Brandon-OS/master
Brandon-OS Oct 26, 2022
2f68905
Added UserGuide
Oct 26, 2022
cdb4c42
added javadoc comments to find and check commands
Brandon-OS Oct 26, 2022
3d77eb2
Merge pull request #45 from insafhere/master
insafhere Oct 26, 2022
e0db7a9
Merge pull request #46 from Brandon-OS/master
Brandon-OS Oct 26, 2022
6b1235f
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Oct 26, 2022
494cfc6
Added help feature
Zhai-Yuxin Oct 26, 2022
5f54f27
Merge pull request #47 from Zhai-Yuxin/master
Zhai-Yuxin Oct 26, 2022
4f66117
edits to find and some javadoc
Zhai-Yuxin Oct 26, 2022
2ea64dc
Merge pull request #48 from Zhai-Yuxin/master
Zhai-Yuxin Oct 26, 2022
beb02c7
minor edits
Zhai-Yuxin Oct 26, 2022
36ef2f3
Merge pull request #49 from Zhai-Yuxin/master
Zhai-Yuxin Oct 26, 2022
18bbe39
Fixed error with find function
Brandon-OS Oct 26, 2022
b687137
Merge pull request #50 from Brandon-OS/master
Brandon-OS Oct 26, 2022
4fb3007
Updated DG and edited check feature
Zhai-Yuxin Oct 27, 2022
846dc56
Merge pull request #51 from Zhai-Yuxin/master
Zhai-Yuxin Oct 27, 2022
8eb6740
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Oct 27, 2022
89668c1
Updates to example i/o in UG
Zhai-Yuxin Oct 27, 2022
198afec
Merge pull request #57 from Zhai-Yuxin/master
Zhai-Yuxin Oct 27, 2022
5b34db4
Added lines in DG an changed Class Diagram
Brandon-OS Oct 27, 2022
3250645
Merge pull request #59 from Brandon-OS/master
Brandon-OS Oct 27, 2022
c0adbcf
storage class with javadoc
ishitamandal06 Oct 27, 2022
b980cc9
Merge pull request #60 from ishitamandal06/master
ishitamandal06 Oct 27, 2022
e4f288f
Invalid Mcs
ishitamandal06 Oct 30, 2022
b984c21
only numeric MC accepted
ishitamandal06 Oct 30, 2022
8efb418
Merge pull request #110 from ishitamandal06/master
ishitamandal06 Oct 30, 2022
cfed6ba
Invalid grade check
ishitamandal06 Oct 30, 2022
254bf46
Merge pull request #111 from ishitamandal06/master
ishitamandal06 Oct 30, 2022
133aa86
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
ed6db74
added semester requirements
Nov 2, 2022
165b9d0
Merge pull request #112 from insafhere/master
insafhere Nov 2, 2022
5047f2a
updates to UI
Zhai-Yuxin Nov 2, 2022
f9b1468
Merge pull request #113 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
bf2ca93
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
ae41447
updated noc/sep ineligibility message
Nov 2, 2022
76243c0
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Nov 2, 2022
04b6368
Merge pull request #114 from insafhere/master
insafhere Nov 2, 2022
b6c7306
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
7a3a900
added text to welcome message
Nov 2, 2022
5b0aa65
Merge pull request #115 from insafhere/master
insafhere Nov 2, 2022
c110a22
modified help message
Nov 2, 2022
f502594
Merge pull request #116 from insafhere/master
insafhere Nov 2, 2022
fee1c65
Check for repetition fields in input
Zhai-Yuxin Nov 2, 2022
8fc1758
Merge pull request #117 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
149333e
modify to be able to search any keyword
Nov 2, 2022
69ec049
ensures uppercase in add
Zhai-Yuxin Nov 2, 2022
7d5bbb9
Merge pull request #118 from insafhere/master
insafhere Nov 2, 2022
2c8c869
minor edit
Zhai-Yuxin Nov 2, 2022
c810506
Merge pull request #119 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
69fa5a2
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
8bf6ca7
minor
Zhai-Yuxin Nov 2, 2022
0292181
Merge pull request #120 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
abfee7c
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
bf50eea
solved spacing for find keyword
Zhai-Yuxin Nov 2, 2022
dd6c1f6
Merge pull request #121 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
672fc48
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 2, 2022
9913c49
added trim() to check
Zhai-Yuxin Nov 2, 2022
3801a15
Merge pull request #122 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
9f8813f
Added skeletal to PPP
Zhai-Yuxin Nov 2, 2022
1099d75
Merge pull request #123 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
772e2cd
edit to check grade
Zhai-Yuxin Nov 2, 2022
2a6c1c8
Merge pull request #132 from Zhai-Yuxin/master
Zhai-Yuxin Nov 2, 2022
ad122d0
Invalid year and semester
ishitamandal06 Nov 2, 2022
fd8835f
cannot accept semester greater than 4
ishitamandal06 Nov 2, 2022
bf97ea8
Merge pull request #133 from ishitamandal06/master
ishitamandal06 Nov 2, 2022
d8e58a1
Added glossary for NOC and SEP
Brandon-OS Nov 3, 2022
c7f112b
Merge pull request #134 from Brandon-OS/master
Brandon-OS Nov 3, 2022
0aa928a
changes to valid semester
ishitamandal06 Nov 3, 2022
03a7b36
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
ishitamandal06 Nov 3, 2022
a8e847a
Merge pull request #135 from ishitamandal06/master
ishitamandal06 Nov 3, 2022
4081272
long number for mc not accepted
ishitamandal06 Nov 3, 2022
b0b86fd
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
ishitamandal06 Nov 3, 2022
5758d98
Merge pull request #136 from ishitamandal06/master
ishitamandal06 Nov 3, 2022
5fa3213
Fixed #61 - Missing link to jar file
Brandon-OS Nov 3, 2022
4157e1a
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 3, 2022
e4f9527
Changed to recognise all exceptions
Nov 4, 2022
7976477
Able to view all exceptions at once
Nov 4, 2022
1db75d8
added getMessage
Nov 4, 2022
9ffd994
added getMessage
Nov 4, 2022
83cf135
added getMessage
Nov 4, 2022
9e478e4
added getMessage
Nov 4, 2022
dee6992
added getMessage
Nov 4, 2022
9299bbc
added getMessage
Nov 4, 2022
96fdbd3
added getMessage
Nov 4, 2022
3a56bcb
changed exception name for overallInput
Nov 4, 2022
56dfce4
Removed UI messages for exception
Nov 4, 2022
bfc519b
Added new Exception for overall input check
Nov 4, 2022
eeac365
changes to Add class for Exception
Nov 4, 2022
da07916
Merge pull request #140 from insafhere/master
insafhere Nov 4, 2022
240cccc
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 4, 2022
1a3f473
adding view all modules feature
Zhai-Yuxin Nov 4, 2022
7de7da7
Merge pull request #141 from Zhai-Yuxin/master
Zhai-Yuxin Nov 4, 2022
07d2946
Update last semesters for noc and sep elibility
Nov 4, 2022
02fa7a2
Merge pull request #142 from insafhere/master
insafhere Nov 4, 2022
1300f99
Added exceptions for wrong semester input
Nov 4, 2022
3208a31
changed from issues to issue(S)
Nov 4, 2022
4dcb6f3
Merge pull request #145 from insafhere/master
insafhere Nov 4, 2022
7e7d4c3
changed from issues to issue
Nov 4, 2022
02b8c12
changed from issues to issue
Nov 4, 2022
8ddd03c
Merge pull request #146 from insafhere/master
insafhere Nov 4, 2022
b0afbbf
Added exception for incorrect semester input
Nov 4, 2022
d0f71c5
Merge pull request #147 from insafhere/master
insafhere Nov 4, 2022
fca4409
updated help command summary
Nov 4, 2022
f8f1cd8
Merge pull request #148 from insafhere/master
insafhere Nov 4, 2022
2d49bce
exception for ASCII Art Generator
Nov 4, 2022
eb0ef83
Added PlanIT! ASCII Art
Nov 4, 2022
d435e1d
imported ASCII Art Generator class
Nov 4, 2022
800daa8
Merge pull request #149 from insafhere/master
insafhere Nov 4, 2022
a3f5573
Added clear and clearAll functions
Nov 4, 2022
7e901a8
added clear command
Nov 4, 2022
664cd41
Added UI messages needed for clear command
Nov 4, 2022
47ba5b8
Added clear class
Nov 4, 2022
df01053
Merge pull request #151 from insafhere/master
insafhere Nov 4, 2022
40496fa
Added storage save method after every input
Nov 4, 2022
d840747
Merge pull request #153 from insafhere/master
insafhere Nov 4, 2022
42bb5f9
Created calculateCap function
Nov 4, 2022
5dfc4ca
updated cap calculation
Nov 4, 2022
fcd808f
Merge pull request #154 from insafhere/master
insafhere Nov 4, 2022
f037fd4
Added overview command class
Nov 4, 2022
d520981
Added more functions for MC calculation
Nov 4, 2022
b139955
Added overview command in switch case
Nov 4, 2022
3dde4e8
Added conversions from sem number to Sem in string
Nov 4, 2022
c9746f6
Added ui for overview feature
Nov 4, 2022
b3a140c
update for overview feature
Nov 4, 2022
8d49abe
added overview in command summary
Nov 4, 2022
370765e
Merge pull request #157 from insafhere/master
insafhere Nov 4, 2022
e2a19de
Update clear functions
Nov 4, 2022
63a9fae
added UI for clear function
Nov 4, 2022
590868a
updated overview feature
Nov 4, 2022
667d00e
Merge pull request #158 from insafhere/master
insafhere Nov 4, 2022
c6ff830
added clear and overview features
Nov 4, 2022
7b20afb
removed isFound printing
Nov 4, 2022
062602d
Merge pull request #159 from insafhere/master
insafhere Nov 4, 2022
8b9372a
Added PPP for insaf
Nov 4, 2022
cf96660
changes to user guide
ishitamandal06 Nov 5, 2022
25293d7
Merge pull request #160 from ishitamandal06/master
ishitamandal06 Nov 5, 2022
ad259be
Junit tests for invalid input, find, and clear
ishitamandal06 Nov 5, 2022
0b60f68
Merge pull request #161 from ishitamandal06/master
ishitamandal06 Nov 5, 2022
2f9137f
fixed checkstyle errors
ishitamandal06 Nov 5, 2022
d5fcd66
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
ishitamandal06 Nov 5, 2022
f349722
Merge pull request #162 from ishitamandal06/master
ishitamandal06 Nov 5, 2022
cb00e29
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 5, 2022
088f5be
Updated javadoc for methods
Nov 5, 2022
21b42db
update to docs
Nov 5, 2022
1f3de93
Merge branch 'master' into master
insafhere Nov 5, 2022
e86049e
Merge pull request #163 from insafhere/master
insafhere Nov 5, 2022
1a8b17d
Update to modulelist for javadoc
Nov 5, 2022
b34b1b0
Merge branch 'master' of https://github.com/insafhere/tp
Nov 5, 2022
3efb604
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Nov 5, 2022
1cf0ea0
updated java doc
Nov 5, 2022
93ddd0d
Merge pull request #164 from insafhere/master
insafhere Nov 5, 2022
bcfa499
Updated javdoc
Nov 5, 2022
492bdd6
Merge pull request #165 from insafhere/master
insafhere Nov 5, 2022
5ca10ee
update javadoc
Nov 5, 2022
0da9263
update javadoc
Nov 5, 2022
51ed816
update javadoc
Nov 5, 2022
8ec1777
update javadoc
Nov 5, 2022
3a88aec
update javadoc
Nov 5, 2022
37b3c76
update javadoc
Nov 5, 2022
f8e13e6
Merge pull request #166 from insafhere/master
insafhere Nov 5, 2022
d05f3ef
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 5, 2022
158e555
Added help section in the User Guide
Brandon-OS Nov 5, 2022
b83ec07
Added ppp draft (yx)
Zhai-Yuxin Nov 5, 2022
7969f89
Merge pull request #167 from Zhai-Yuxin/master
Zhai-Yuxin Nov 5, 2022
78b8a3b
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 5, 2022
340ae3f
Updated class diagrams and DG
Brandon-OS Nov 5, 2022
aa7ce85
solved empty row output issue
Zhai-Yuxin Nov 5, 2022
7635f9b
Merge pull request #168 from Zhai-Yuxin/master
Zhai-Yuxin Nov 5, 2022
45d8415
Added JUnit Test for Check command
Brandon-OS Nov 5, 2022
51378bc
Merge branch 'master' into master
Brandon-OS Nov 5, 2022
96b41ff
Merge pull request #169 from Brandon-OS/master
Brandon-OS Nov 5, 2022
277d336
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 6, 2022
14a3c40
resolved bug for checking mc string
Zhai-Yuxin Nov 6, 2022
8809337
Merge pull request #170 from Zhai-Yuxin/master
Zhai-Yuxin Nov 6, 2022
1af017b
user guide done, resolved bug for check
Zhai-Yuxin Nov 6, 2022
0f710b2
Merge pull request #171 from Zhai-Yuxin/master
Zhai-Yuxin Nov 6, 2022
fc69107
Added user stories to DG and changes to PPP
Brandon-OS Nov 6, 2022
f011077
Merge pull request #172 from Brandon-OS/master
Brandon-OS Nov 6, 2022
d3867bf
Minor edits to PPP
Brandon-OS Nov 6, 2022
7d9a478
Merge pull request #173 from Brandon-OS/master
Brandon-OS Nov 6, 2022
70cd42b
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 6, 2022
d96bc40
javadoc comments, PPP, and instructions for manual testing in DG
ishitamandal06 Nov 6, 2022
a63dc41
Merge pull request #174 from ishitamandal06/master
ishitamandal06 Nov 6, 2022
b3e97d0
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 6, 2022
dc880fb
DG write ups for features
ishitamandal06 Nov 6, 2022
79042b3
Merge pull request #175 from ishitamandal06/master
ishitamandal06 Nov 6, 2022
16a2b61
about us
ishitamandal06 Nov 6, 2022
5a66948
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
ishitamandal06 Nov 6, 2022
bd4639b
Merge pull request #176 from ishitamandal06/master
ishitamandal06 Nov 6, 2022
1cd9152
Updates to all sequence diagrams of DG
Zhai-Yuxin Nov 6, 2022
f37e80e
Merge pull request #177 from Zhai-Yuxin/master
Zhai-Yuxin Nov 6, 2022
0ccf83a
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 6, 2022
b909074
Updated DG with diagrams and corrections to texts
Zhai-Yuxin Nov 6, 2022
18a0528
Merge pull request #178 from Zhai-Yuxin/master
Zhai-Yuxin Nov 6, 2022
56bad8f
remove wrong name
Nov 6, 2022
1e8b1dd
Create PPP for insaf
Nov 6, 2022
dade811
Merge pull request #179 from insafhere/master
insafhere Nov 6, 2022
ea7cd25
PPP completed (yx)
Zhai-Yuxin Nov 6, 2022
5d398a3
Merge pull request #180 from Zhai-Yuxin/master
Zhai-Yuxin Nov 6, 2022
f36897c
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 6, 2022
74d3d30
remove Wrong PPP File insaf
Nov 6, 2022
827663a
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Nov 6, 2022
4c02fce
solving pr checks error
Zhai-Yuxin Nov 7, 2022
9783881
solve pr check errors
Zhai-Yuxin Nov 7, 2022
07e08d8
solve pr check issues in tests
Zhai-Yuxin Nov 7, 2022
cf213e7
Merge pull request #183 from Zhai-Yuxin/master
Zhai-Yuxin Nov 7, 2022
b74e58b
updated expected.txt
Zhai-Yuxin Nov 7, 2022
b927115
Merge pull request #184 from Zhai-Yuxin/master
Zhai-Yuxin Nov 7, 2022
0fae13e
fix CI
Zhai-Yuxin Nov 7, 2022
fabe19c
Update to Insaf PPP
Nov 7, 2022
58c6937
Merge pull request #186 from insafhere/master
insafhere Nov 7, 2022
c5251ab
Update to Insaf PPP
Nov 7, 2022
26072db
final update to ppp (yx)
Zhai-Yuxin Nov 7, 2022
c3f1e26
Merge pull request #185 from Zhai-Yuxin/master
Zhai-Yuxin Nov 7, 2022
81f26ae
Merge pull request #187 from insafhere/master
insafhere Nov 7, 2022
3f29f1d
Merge branch 'master' of https://github.com/AY2223S1-CS2113-T17-2/tp
Zhai-Yuxin Nov 7, 2022
f74596c
Update to Insaf PPP
Nov 7, 2022
72d792a
Update to aboutUs for insaf
Nov 7, 2022
39cce6a
Merge pull request #188 from insafhere/master
insafhere Nov 7, 2022
5660e14
updated ppp
Zhai-Yuxin Nov 7, 2022
0dcf92d
Merge pull request #189 from Zhai-Yuxin/master
Zhai-Yuxin Nov 7, 2022
fc9cb36
Update to Insaf PPP
Nov 7, 2022
b758c2d
Update to Insaf PPP
Nov 7, 2022
6f0cd57
Added links to PPP
Brandon-OS Nov 7, 2022
90ab496
Merge pull request #190 from insafhere/master
insafhere Nov 7, 2022
64da252
Merge pull request #191 from Brandon-OS/master
Brandon-OS Nov 7, 2022
493a0f9
Update to Insaf PPP
Nov 7, 2022
73fa5a7
Merge pull request #192 from insafhere/master
insafhere Nov 7, 2022
b3f859c
Added criteria for Module Code
Nov 7, 2022
d623fce
Merge pull request #193 from insafhere/master
insafhere Nov 7, 2022
64254f0
Changed to proper naming convention for module code and grade
Nov 7, 2022
df6d865
Changed number in notes for input format
Nov 7, 2022
54b067b
Merge pull request #195 from insafhere/master
insafhere Nov 7, 2022
d89abe3
Update to Insaf PPP
Nov 7, 2022
1887568
Merge pull request #196 from insafhere/master
insafhere Nov 7, 2022
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
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.duke.Duke

1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
13 changes: 6 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# About us

Display | Name | Github Profile | Portfolio
--------|:----:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
Display | Name | Github Profile | Portfolio
--------|:-------------------:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | Insaf | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Zhai Yuxin | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Brandon Owen Sjarif | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ishita Mandal | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
137 changes: 133 additions & 4 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,146 @@

## Design & implementation

Choose a reason for hiding this comment

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

Consider separating design and implementation into different section because it's explaining on different aspect of your project.


{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
Our program is structured as pictured in the following class diagram:
![ClassDiagram.png](diagrams/ClassDiagram.png)
Copy link

Choose a reason for hiding this comment

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

Consider changing the following:

  1. Avoid overlapping arrows
  2. Include the navigability between Duke and moduleList, Duke and UI
  3. Include the visibility of the variables and methods

Choose a reason for hiding this comment

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

Would be good to include the access modifier. It will be good that you spread out the class diagram as well so that the association is not overlapped.

Choose a reason for hiding this comment

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

Can consider having segments in the DG that goes into more details about the different classes such as Parser, Ui and ModuleList so that reader can understand what they do in the context of your application.


All the inheritors of Command are features that will be described below.

### Addition feature

Choose a reason for hiding this comment

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

With regards to the sequence diagram, there should be a colon in front of the Class name, for example ":Duke". Because if you did not indicate, it means that you are not referring to the object.

The "c" stated in the sequence diagram might be ambiguous too.

You might also want to the box at the bottom of the sequence diagram since it's different from the convention taught during lecture.

The box at the bottom of the sequence diagram also can be seen causing another bug as there is no 'end' to the activation box of the Ui object at the bottom.


The addition mechanism is facilitated by 'Parser', 'Add', 'ModuleList' and 'UI', where a Module object will be created according to the content inputted by the user and stored in the module list.

Choose a reason for hiding this comment

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

Can consider using 'code' feature to better distinguish the class and to draw attention. It will look something like Parser.


Below is an example usage scenario and how the addition mechanism behaves at each step:

Step 1: The user launches the application for the first time. A ModuleList object will be initiated with empty content.

Step 2: The user input of "add m/cs2113 s/y2s1 mc/4 g/a" will be taken in for parser and an object of class 'Add' will be returned.

Step 3: The execute method in the Add class that is overrides will be called with parameter of moduleList and module to be added passed. This will add the Module into the module list created in step 1.

The sequence diagram below illustrates this add mechanism:

![AddUML.png](diagrams/AddUML.png)
Copy link

Choose a reason for hiding this comment

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

Consider changing the following:

  1. The first arrowing pointing into the Duke object should point to the top of the activation bar (the Duke object should only be activiated when called with UserInput)
  2. The same applies to add(modToAdd), the arrow should point to the top of the activation bar
  3. The acitivation bar for Add should last throughout the callback functions called (reference the Duke object to see its lifetime)


### Deletion feature

The deletion mechanism is facilitated by 'Parser', 'Add', 'ModuleList' and 'UI', where a Module object will be deleted according to the module code inputted by the user and removed from the module list.

Below is an example usage scenario and how the addition mechanism behaves at each step:

Choose a reason for hiding this comment

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

Consider including snippets of code that illustrate the mechanism in the DG to make it easier to follow through!


Step 1: Assume that the user has already added a module named CS2113 into the ModuleList using the following command, "add m/cs2113 s/y2s1 mc/4 g/a"

Step 2: The user input of "delete m/cs2113" will be taken in for the parser and an object of class 'Delete' will be returned.
Copy link

Choose a reason for hiding this comment

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

You can consider making the DG more readable by idenfying code elements in the texts with some highlights. FOr example, GitHub has a built in format to identify code.

If you want to quote or highlight an important point for developers to take note, you can use a quote. For example:

The valid integers of sample are 0-100000

Feel free to be creative!


Step 3: The execute method in the Delete class that is overrides will be called with parameter of the modCode and will iterate through moduleList looking for a Module that matches. It will then remove the Module from the moduleList.

The sequence diagram below illustrates this delete mechanism:

![DeleteUML.png](diagrams/DeleteUML.png)
Copy link

Choose a reason for hiding this comment

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

Consider making the changes of the following:

  1. like the previous comment, the arrow point to the top of the activation bar. This applies to UserInput, Delete(modCodeToDelete)
  2. Acitvation bar should last throughout the callback functions (until the value is returned from the method

Copy link

Choose a reason for hiding this comment

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

In general you can choose to omit the class diagrams for some functions unless it helps to explain the function. That is up to your discretion.


### View feature

The View mechanism is facilitated by 'Parser', 'View', 'ModuleList', and 'UI', where the user enters
a semester and the total number of mcs taken that semester is calculated and displayed.

Below is an example usage scenario and how the view mechanism behaves at each step.

Step 1: Assume that the user has already added two modules to y2s1:
The first module is CS2113, a 4 MC module which was added using the following command "add m/cs2113 s/y2s1 mc/4 g/a"
The second module is CS2030, a 4 MC module which was added using the following command "add m/cs2030 s/y2s1 mc/4 g/a"

Step 2: The user input of "view s/y2s1" will be taken in for the parser and an object of class 'View' will be returned.

Step 3: The execute method of View class that is overrides will be called with parameter of the semester and will iterate through
the moduleList. If the semester in which a particular module is taken matches the semester given as the argument, then the module will be added to an ArrayList called matchingModules. In the end, the arrayList matchingModules will be returned.

The sequence diagram below illustrates this view mechanism.

![viewUML.png](diagrams/viewUML.png)

### Mcs feature

The mcs mechanism is facilitated by 'Parser', 'Mcs', 'ModuleList', and 'UI', where the user enters
a semester and the total number of mcs taken that semester is calculated and displayed.

Below is an example usage scenario and how the mcs mechanism behaves at each step.

Step 1: Assume that the user has already added two modules to y2s1:
The first module is CS2113, a 4 MC module which was added using the following command "add m/cs2113 s/y2s1 mc/4 g/a"
The second module is CS2030, a 4 MC module which was added using the following command "add m/cs2030 s/y2s1 mc/4 g/a"

Step 2: The user input of "mcs s/y2s1" will be taken in for the parser and an object of class 'Mcs' will be returned.

Step 3: The execute method of MCs class that is overrides will be called with parameter of the semester and will iterate through
the moduleList. If the semester in which a particular module is taken matches the semester given as the argument, then mcsCount variable
will be increased by the number of Mcs of the module taken. In the end, mcsCount will be returned.

The sequence diagram below illustrates this mcs mechanism.

![McsUML.png](diagrams/McsUML.png)


### Find feature

The find mechanism is facilitated by 'Parser', 'Find', 'ModuleList', and 'UI', where the user enters
a keyword and the modules containing the keyword in one of its fields will be displayed.

Below is an example usage scenario and how the find mechanism behaves at each step.

Step 1: Assume that the user has already added two modules to y2s1:
The first module is CS2113, a 4 MC module which was added using the following command "add m/cs2113 s/y2s1 mc/4 g/a"
The second module is CS2030, a 4 MC module which was added using the following command "add m/cs2030 s/y2s1 mc/4 g/b"

Step 2: The user input of "find a" will be taken in for the parser and an object of class 'Find' will be returned.

Step 3: The execute method of Find class that is overrides will be called with parameter of the keyword inputted and will iterate through
the moduleList. If the keyword matches a field of a particular module, the module will be added to a separate array list
which will then be displayed to the user.

The sequence diagram below illustrates this find mechanism.

![FindUML.png](diagrams/FindUML.png)


### Check feature

The help mechanism is facilitated by 'Parser', 'Check' and 'UI', where the user enters the check command and the resulting
eligibility status will be displayed.

The sequence diagram below illustrates this help mechanism.

![CheckUML.png](diagrams/CheckUML.png)

### Help feature

The help mechanism is facilitated by 'Parser', 'Help' and 'UI', where the user enters the word 'help' and a help message with
the various commands summary will be displayed.

The sequence diagram below illustrates this help mechanism.

![HelpUML.png](diagrams/HelpUML.png)

### Exit feature

The exit mechanism is facilitated by 'Parser', 'Exit' and 'UI'.
This allows the program to exit smoothly with an exit message displayed when the user input is 'exit'.

The sequence diagram below illustrates this exit mechanism.

![ExitUML.png](diagrams/ExitUML.png)

Copy link

Choose a reason for hiding this comment

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

Please conplete this section to showcase the target user, use cases and others.



## Product scope

Choose a reason for hiding this comment

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

No value proposition not specified. (Explanation bug)

Choose a reason for hiding this comment

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

Target user not specified. (Explanation bug)

### Target user profile

{Describe the target user profile}
Our target user profile are NUS students who are still unsure of what module they will be taking and/or are targeting one of the exchange programs that NUS has to offer (NOC/SEP).
Through our program students will be able to ensure that they are eligible for these programmes and ensure that they make the most out of their studies in NUS.

Choose a reason for hiding this comment

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

This line can be slightly confusing due to the repeated use of the word programme in different context.

Perhaps can rephrase it as "Our application allows user to ensure that they will be eligible for these programs when the time comes"


### Value proposition

{Describe the value proposition: what problem does it solve?}
It is often very confusing for students to plan out the full four years of their studies due to the sheer amount of modules they will be taking.
Students might also have doubts of their eligibility for the exchange programs. Our program allows users to ensure that they will be eligible for these programs when the time comes.

## User Stories

Choose a reason for hiding this comment

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

I think the User Stories can be updated and be made more robust, considering that there are more feature than what's captured in the user stories below


Expand All @@ -31,7 +160,7 @@

## Glossary

* *glossary item* - Definition
* *Module* - A class that a student takes for their current semester in NUS

## Instructions for manual testing

Expand Down
Loading