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-T11-2] peNUS #35

Open
wants to merge 491 commits into
base: master
Choose a base branch
from
Open
Changes from 10 commits
Commits
Show all changes
491 commits
Select commit Hold shift + click to select a range
b6fcb63
Update checkstyle
TayJiunYuan Mar 28, 2023
34dfe71
Update checkstyle
TayJiunYuan Mar 28, 2023
be548a3
Merge pull request #74 from TayJiunYuan/jy-archi
TayJiunYuan Mar 28, 2023
726a864
ResourceStorageTest
TayJiunYuan Mar 28, 2023
6697214
Added tests for getgec, getgen, getgess
TayJiunYuan Mar 28, 2023
d68de97
Added tests for getgec, getgen, getgess
TayJiunYuan Mar 28, 2023
eb4ce07
ResourceStorageTest
TayJiunYuan Mar 28, 2023
febd238
Added tests for getgec, getgen, getgess
TayJiunYuan Mar 28, 2023
e098cee
Merge pull request #75 from TayJiunYuan/jy-archi
TayJiunYuan Mar 28, 2023
d8b3947
Merge branch 'master' of https://github.com/AY22223S2-CS2113-T11-2/tp…
TayJiunYuan Mar 28, 2023
4ed740f
Add savefeature to DG
bentohset Mar 28, 2023
cbded91
add exception for ModuleRetriever
sriram-senthilkr Mar 29, 2023
354aa7a
Add Javadoc
bentohset Mar 29, 2023
3e6f9a2
Add javadoc
bentohset Mar 29, 2023
42a9d30
Edit checkstyle
bentohset Mar 29, 2023
6422eba
Merge pull request #76 from bentohset/edit-dg-diagrams
bentohset Mar 29, 2023
d927b60
Add diagram for GradeClass
bentohset Mar 29, 2023
e4b649e
Merge pull request #77 from bentohset/edit-dg-diagrams
bentohset Mar 29, 2023
070d4e1
Create exceptions for all classes under Storage
chiayuxuan Mar 29, 2023
38eff1a
Merge branch 'master' into storage-exceptions
chiayuxuan Mar 29, 2023
2f08e90
Add @BeforeEach
chiayuxuan Mar 29, 2023
e0beca5
Fix indentations
chiayuxuan Mar 29, 2023
4e1509b
Merge branch 'master' of https://github.com/Ansenn/tp
Ansenn Mar 29, 2023
c1e3136
Allow commandresult to print arrays
bentohset Mar 29, 2023
6df22e1
Merge pull request #79 from chiayuxuan/storage-junit
chiayuxuan Mar 29, 2023
7e1ed9e
Update messagearray and add listCommand
bentohset Mar 29, 2023
2029c89
edit checkstyle
bentohset Mar 29, 2023
7de390b
add 1 JUnit test DetailsCompiler
sriram-senthilkr Mar 29, 2023
1ec8b44
add 1 JUnit test DetailsCompiler, and DetailsSequence puml
sriram-senthilkr Mar 29, 2023
06869d4
fix error
bentohset Mar 29, 2023
0632faf
Merge branch 'master' into feature_branch
sriram-senthilkr Mar 29, 2023
cefba4d
Merge pull request #82 from sriram-senthilkr/feature_branch
sriram-senthilkr Mar 29, 2023
b0a08ec
Merge pull request #81 from bentohset/add-listcommand
bentohset Mar 29, 2023
7454ce8
Edit ListCommand
Ansenn Mar 29, 2023
046c617
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T11-2/tp
Ansenn Mar 29, 2023
da41110
Added SU excpetion for taken command
TayJiunYuan Mar 29, 2023
d89bc04
Added SU excpetion for taken command
TayJiunYuan Mar 29, 2023
47dde25
Junit test for Module and User classes
chiayuxuan Mar 29, 2023
051accd
Added SU excpetion for markModule
TayJiunYuan Mar 29, 2023
0ab5304
checkstyle fix
TayJiunYuan Mar 29, 2023
112d004
Merge pull request #84 from TayJiunYuan/jy-archi
TayJiunYuan Mar 29, 2023
f88eada
Add JUnit test for ModelManager and User classes
chiayuxuan Mar 29, 2023
7af9bf8
Merge pull request #85 from chiayuxuan/model-junit
chiayuxuan Mar 29, 2023
c1b85ef
Modified listParser method
Ansenn Mar 29, 2023
2ffdf98
Merge pull request #86 from Ansenn/master
Ansenn Mar 29, 2023
6e121e1
add junit test and fix checkstyle
bentohset Mar 29, 2023
fb2e4ad
Merge branch 'master' into add-junittest-commands
bentohset Mar 29, 2023
5adef38
Merge pull request #87 from bentohset/add-junittest-commands
bentohset Mar 29, 2023
1114b72
Add more JUnit tests, edit 2122 for get certain infos
sriram-senthilkr Mar 29, 2023
060d2db
Merge remote-tracking branch 'origin/feature_branch' into feature_branch
sriram-senthilkr Mar 29, 2023
bbfa02c
Merge branch 'master' into feature_branch
sriram-senthilkr Mar 29, 2023
87c62ae
Merge pull request #88 from sriram-senthilkr/feature_branch
sriram-senthilkr Mar 29, 2023
14b85a3
fix bugs and checkstyle
bentohset Mar 29, 2023
e065125
fix checkstyle
bentohset Mar 29, 2023
a22d253
update io tests
bentohset Mar 29, 2023
cf5e2d5
update UG
bentohset Mar 29, 2023
6b677a0
add logo
bentohset Mar 29, 2023
c060c51
Merge pull request #89 from bentohset/fix-bugs
bentohset Mar 30, 2023
f8ea6f8
Fix diagrams 1
bentohset Mar 30, 2023
14a6f62
added UG
TayJiunYuan Mar 30, 2023
30b3e8b
Merge pull request #92 from bentohset/fix-diagrams
bentohset Mar 30, 2023
99793f1
Merge branch 'master' into jy-archi
TayJiunYuan Mar 30, 2023
ecd4e39
Update UserGuide.md
TayJiunYuan Mar 30, 2023
b777554
Merge pull request #93 from TayJiunYuan/jy-archi
TayJiunYuan Mar 30, 2023
3a46cd9
Edit listParser to print Semester Cap
Ansenn Mar 30, 2023
09d3911
Merge pull request #95 from Ansenn/master
TayJiunYuan Mar 30, 2023
46be844
gitignore data/penus.txt
chiayuxuan Mar 30, 2023
3f126e5
Merge branch 'master' of https://github.com/chiayuxuan/tp
chiayuxuan Mar 30, 2023
be5f880
Update user docs for cap calculator
chiayuxuan Mar 30, 2023
587c37f
Merge pull request #102 from chiayuxuan/master
chiayuxuan Mar 30, 2023
aa1f848
Edit DG according to PR feedback
bentohset Mar 30, 2023
f704a6d
Add destroy object
bentohset Mar 30, 2023
aff4354
Merge pull request #103 from bentohset/feedback-dg
bentohset Mar 31, 2023
763461d
added Status to UG
TayJiunYuan Mar 31, 2023
4fa01e5
update status sequence diagram
TayJiunYuan Mar 31, 2023
5b20361
update status sequence diagram and init dg
TayJiunYuan Mar 31, 2023
7e85192
update help for init
TayJiunYuan Mar 31, 2023
f4fd286
Updated DG
sriram-senthilkr Mar 31, 2023
ce322b0
update help for init
TayJiunYuan Mar 31, 2023
6444c52
Merge pull request #107 from sriram-senthilkr/DG-ONLY_branch
sriram-senthilkr Mar 31, 2023
036710b
revert help changes
TayJiunYuan Mar 31, 2023
da23d60
update UG Init Status
TayJiunYuan Mar 31, 2023
f44f310
Merge pull request #106 from TayJiunYuan/jy-archi
TayJiunYuan Mar 31, 2023
1dcffd4
edit helpcommand
bentohset Mar 31, 2023
2d3ab0b
edit testing for help
bentohset Mar 31, 2023
fb8d248
Add clear command
Ansenn Mar 31, 2023
3b22356
Merge pull request #108 from bentohset/helpcommand-edit
bentohset Mar 31, 2023
660a85b
Edit HelpCommandTest
Ansenn Mar 31, 2023
4b0d221
Merge pull request #109 from Ansenn/master-ansenn
bentohset Mar 31, 2023
8f75ad2
Updated UG to add clear command
Ansenn Mar 31, 2023
9963ed9
Edit UG formatting
bentohset Mar 31, 2023
76d4753
Merge pull request #110 from Ansenn/master-ansenn
Ansenn Mar 31, 2023
d1e569e
DG formatting
bentohset Mar 31, 2023
3bca430
Merge branch 'master' into master
bentohset Mar 31, 2023
2410a01
Merge pull request #111 from bentohset/master
bentohset Mar 31, 2023
d2c55b3
DG edit typo
bentohset Mar 31, 2023
7194263
Merge pull request #112 from bentohset/master
bentohset Mar 31, 2023
0ded146
update UG and Parser for issues
TayJiunYuan Apr 1, 2023
7d8b85e
update UG for issues
TayJiunYuan Apr 1, 2023
06c8444
update helpcommand output bug
TayJiunYuan Apr 1, 2023
9785dd0
updated to fix issues
TayJiunYuan Apr 1, 2023
bf4e4d4
updated to fix issues
TayJiunYuan Apr 1, 2023
5118936
updated to fix issues
TayJiunYuan Apr 1, 2023
cc4035c
Merge pull request #165 from TayJiunYuan/jy-archi
TayJiunYuan Apr 2, 2023
1e7cfd2
updated to help issue
TayJiunYuan Apr 2, 2023
4a5d8f2
Merge pull request #166 from TayJiunYuan/jy-archi
TayJiunYuan Apr 2, 2023
79d9b64
reduce arrowhead
bentohset Apr 2, 2023
d496a8f
delete parsertest
bentohset Apr 2, 2023
6a36998
edit javadoc removed <p>
bentohset Apr 2, 2023
eb78bbf
Merge pull request #167 from bentohset/master
bentohset Apr 2, 2023
0282e1c
fix wrong error message
bentohset Apr 2, 2023
966e2b9
fix unknown error message for invalid integer
bentohset Apr 2, 2023
0d9200e
add trim() to all parsing
bentohset Apr 2, 2023
9348259
Include valid year and sem (plan/taken)
bentohset Apr 2, 2023
1e6f476
Merge pull request #168 from bentohset/bugfixes
bentohset Apr 2, 2023
4a1bd7b
fix sustatus wrong negation
bentohset Apr 2, 2023
b7236fa
Merge pull request #169 from bentohset/bugfix2
bentohset Apr 2, 2023
ced95bb
Update Status
TayJiunYuan Apr 2, 2023
b83b591
Merge pull request #170 from TayJiunYuan/jy-archi
TayJiunYuan Apr 2, 2023
83fa08e
Removed unused lines
Ansenn Apr 3, 2023
053fb0c
Merge pull request #171 from Ansenn/master-ansenn
Ansenn Apr 3, 2023
310a509
Updated User Guide
Ansenn Apr 3, 2023
23f8e43
Merge pull request #172 from Ansenn/master-ansenn
Ansenn Apr 3, 2023
ac1edf5
Refactor ClearCommand to fix arrowhead coding
Ansenn Apr 3, 2023
32396b1
Merge pull request #173 from Ansenn/master-ansenn
Ansenn Apr 3, 2023
1acf4ab
Add isvalid checker when adding mod
bentohset Apr 3, 2023
9439a38
Merge pull request #174 from bentohset/isvalid-checker
bentohset Apr 3, 2023
3cfbbec
handle filestorage errors
bentohset Apr 3, 2023
76c24a5
handle error for filestorage
bentohset Apr 3, 2023
f8bdc5a
Add more testing
bentohset Apr 3, 2023
5f4693b
Merge pull request #175 from bentohset/fix-filestoragebugs
bentohset Apr 3, 2023
845a42f
Edit Parser exception message to improve clarity
Ansenn Apr 3, 2023
50a80b0
Update formatting for User Guide
Ansenn Apr 3, 2023
7071d8c
follow code-review
chiayuxuan Apr 4, 2023
dd5ea03
Edit ListParser and ClearParser to handle ArrayIndexOutOfBoundsExcept…
Ansenn Apr 4, 2023
45c9987
Updated DetailsCompilerTest to match updated output
Ansenn Apr 4, 2023
0396a19
Merge pull request #176 from Ansenn/master-ansenn
Ansenn Apr 4, 2023
37c0bec
Update NUSMods API in UG
TayJiunYuan Apr 4, 2023
879b698
added loading screen in UI added it to status
TayJiunYuan Apr 4, 2023
bb543c3
Merge pull request #180 from TayJiunYuan/jy-archi
TayJiunYuan Apr 4, 2023
1ba1005
Fix bugs for incorrect grade
chiayuxuan Apr 4, 2023
8c887b4
Merge branch 'master' into code-review
chiayuxuan Apr 4, 2023
06c1127
Merge pull request #181 from chiayuxuan/code-review
chiayuxuan Apr 4, 2023
a0e9873
edited Help message
chiayuxuan Apr 4, 2023
0102e9b
removed unused code
chiayuxuan Apr 4, 2023
ae202ea
Reformatted the help message
chiayuxuan Apr 4, 2023
6c97edc
shortened line length
chiayuxuan Apr 4, 2023
1b69b85
Edit HelpCommandTest
chiayuxuan Apr 4, 2023
5ffc539
Update DG
bentohset Apr 4, 2023
64d5a4f
Handle new exception
bentohset Apr 4, 2023
50cd462
edited EXPECTED.TXT to reflect new changes to help command
chiayuxuan Apr 4, 2023
a2b3c6a
added newline to HelpCommand
chiayuxuan Apr 4, 2023
16ac65e
Finish incomplete field
bentohset Apr 4, 2023
96bd918
Add PPP bentohset
bentohset Apr 4, 2023
a08537b
Edit ppp
bentohset Apr 4, 2023
4faa26e
Merge pull request #183 from bentohset/dg-more
bentohset Apr 4, 2023
4c2c5cd
added empty space
chiayuxuan Apr 4, 2023
31a2d0f
add newline
chiayuxuan Apr 4, 2023
c72256a
removed whitespaces
chiayuxuan Apr 4, 2023
e09d988
edited HelpCommandTest to remove whitespaces
chiayuxuan Apr 4, 2023
872ea36
edited text file
chiayuxuan Apr 4, 2023
214c5fe
changed format of some lines in HelpCommand
chiayuxuan Apr 5, 2023
f5f1f62
update HelpCommandTest to reflect changes in HelpCommand
chiayuxuan Apr 5, 2023
bb393b5
Merge pull request #182 from chiayuxuan/code-review
chiayuxuan Apr 5, 2023
4615ea7
PPP typo
bentohset Apr 5, 2023
09bb18e
Resolved issue when adding ES2631 module
Ansenn Apr 5, 2023
b200521
Merge pull request #185 from Ansenn/master-ansenn
Ansenn Apr 5, 2023
773ffd4
Merge pull request #187 from bentohset/dg-more
bentohset Apr 6, 2023
5233da0
More testing
bentohset Apr 6, 2023
c73ede4
Edit UG
bentohset Apr 6, 2023
a0010ab
Merge pull request #188 from bentohset/testing-extensive
bentohset Apr 6, 2023
f508cb6
added PPP jy
TayJiunYuan Apr 7, 2023
5462561
Merge pull request #189 from TayJiunYuan/jy-archi
TayJiunYuan Apr 7, 2023
e1b3e57
updated PPP JY
TayJiunYuan Apr 7, 2023
bd5950b
updated PPP JY
TayJiunYuan Apr 7, 2023
f29e26b
updated hasModuleCode Test
TayJiunYuan Apr 7, 2023
48c2bfe
Merge pull request #190 from TayJiunYuan/jy-archi
TayJiunYuan Apr 7, 2023
28859db
Increase branch coverage
bentohset Apr 7, 2023
12aa859
Merge pull request #191 from bentohset/add-testcoverage
TayJiunYuan Apr 7, 2023
03295a0
Add Invalid Module checker to details command
sriram-senthilkr Apr 8, 2023
ad45d12
Merge pull request #192 from sriram-senthilkr/details_revise_branch
sriram-senthilkr Apr 8, 2023
b6d1568
Add pr
bentohset Apr 8, 2023
69fca0a
Add internet Connection Checker
sriram-senthilkr Apr 8, 2023
375d76d
Merge pull request #193 from sriram-senthilkr/details_revise_branch
sriram-senthilkr Apr 8, 2023
e8506cc
Edit PPP
bentohset Apr 8, 2023
54acaa9
Fix remove parsing bug
bentohset Apr 8, 2023
cebff8c
DG final edits
bentohset Apr 8, 2023
d124a06
Merge pull request #194 from bentohset/pp
bentohset Apr 8, 2023
532016b
Updated UG formatting
Ansenn Apr 8, 2023
52179ed
Merge pull request #195 from Ansenn/master-ansenn
Ansenn Apr 8, 2023
390cd9b
Add Ansenn PPP
Ansenn Apr 9, 2023
36906be
Edit ClearCommand formatting
Ansenn Apr 9, 2023
288952d
Updated DG for Clear Command
Ansenn Apr 9, 2023
8cd9b69
Added more JUnit tests
Ansenn Apr 9, 2023
d6cca58
Added unit tests to DetailsCompilerTest
Ansenn Apr 9, 2023
00d0aa3
Merge branch 'master' into master-ansenn
Ansenn Apr 9, 2023
69c6ea4
Yu Xuan's PPP
chiayuxuan Apr 9, 2023
9416cfd
Merge pull request #197 from chiayuxuan/master
chiayuxuan Apr 9, 2023
c02f6cb
Edit DetailsCompilerTest
Ansenn Apr 9, 2023
6acdb61
Merge branch 'master' of https://github.com/AY2223S2-CS2113-T11-2/tp …
Ansenn Apr 9, 2023
9c13a76
Merge branch 'master-ansenn' of https://github.com/Ansenn/tp into mas…
Ansenn Apr 9, 2023
b28b6b8
Edit DetailsCompilerTest
Ansenn Apr 9, 2023
02d2282
Add pr contribution
bentohset Apr 9, 2023
3809cd4
Added PPP, edited typos on other PPPs
sriram-senthilkr Apr 9, 2023
7e890b5
Updated PPP and about US
TayJiunYuan Apr 9, 2023
2fe4c03
Merge pull request #199 from TayJiunYuan/jy-archi
TayJiunYuan Apr 9, 2023
a79c7fa
Updated UG
TayJiunYuan Apr 9, 2023
3700ca6
Updated PPP
TayJiunYuan Apr 9, 2023
f6ee3db
Updated PPP
TayJiunYuan Apr 9, 2023
b368d44
Merge pull request #200 from TayJiunYuan/jy-archi
TayJiunYuan Apr 9, 2023
b7c914c
Edit PPP based on teammates comments
Ansenn Apr 9, 2023
c2376e7
Merge pull request #198 from sriram-senthilkr/PPP_branch
sriram-senthilkr Apr 9, 2023
6e47d1f
Merge pull request #196 from Ansenn/master-ansenn
Ansenn Apr 10, 2023
e7cedc2
Update AboutUs Docs
Ansenn Apr 10, 2023
744dd42
Merge branch 'master' into master-ansenn
Ansenn Apr 10, 2023
2efc366
Update ansenn PPP
Ansenn Apr 10, 2023
9000452
Merge branch 'master-ansenn' of https://github.com/Ansenn/tp into mas…
Ansenn Apr 10, 2023
ba1bfa8
Merge pull request #201 from Ansenn/master-ansenn
chiayuxuan Apr 10, 2023
22dc4b5
Merge pull request #202 from bentohset/pp-final
bentohset Apr 10, 2023
3061d0c
Edit AboutUs
Ansenn Apr 10, 2023
76e7cac
Update Guides
Ansenn Apr 10, 2023
8da0acc
Merge pull request #203 from Ansenn/master-ansenn
sriram-senthilkr Apr 10, 2023
6c657ce
Updated PPP
TayJiunYuan Apr 10, 2023
7fcd4ca
Merge pull request #204 from TayJiunYuan/jy-archi
TayJiunYuan Apr 10, 2023
f68177d
Final edit
bentohset Apr 10, 2023
9fd1071
Update teammate's PPP
Ansenn Apr 10, 2023
1e708cb
Update DG
Ansenn Apr 10, 2023
523e648
Shorten PPP
bentohset Apr 10, 2023
4b3d4a5
Merge pull request #205 from Ansenn/master-ansenn
Ansenn Apr 10, 2023
af5072e
Merge branch 'master' into master
bentohset Apr 10, 2023
e1db037
Edited DG and own PPP
sriram-senthilkr Apr 10, 2023
d31fa6f
Merge pull request #206 from bentohset/master
bentohset Apr 10, 2023
a365b86
Merge branch 'master' into updated_DG_branch
sriram-senthilkr Apr 10, 2023
3ded3db
Merge pull request #207 from sriram-senthilkr/updated_DG_branch
bentohset Apr 10, 2023
b3fee20
Fix images
bentohset Apr 10, 2023
fb03bcd
Merge pull request #208 from bentohset/master
bentohset Apr 10, 2023
99f1e7e
fix bug
bentohset Apr 10, 2023
23d2465
Merge pull request #209 from bentohset/master
bentohset Apr 10, 2023
4c3c537
Fix images
bentohset Apr 10, 2023
3dc0848
Add pic
bentohset Apr 10, 2023
eb81079
Merge pull request #210 from bentohset/master
bentohset Apr 10, 2023
1365061
Shorten image
bentohset Apr 10, 2023
00d1b77
Merge pull request #211 from bentohset/master
bentohset Apr 10, 2023
8a1a9e8
DG bugs
bentohset Apr 10, 2023
cb587f9
resize image
bentohset Apr 10, 2023
8d1151e
Merge pull request #212 from bentohset/pp-final
bentohset Apr 10, 2023
da714cf
resize image
bentohset Apr 10, 2023
273e180
Merge pull request #213 from bentohset/pp-final
bentohset Apr 10, 2023
140334c
format images
bentohset Apr 10, 2023
0ccbd3a
Merge pull request #214 from bentohset/pp-final
bentohset Apr 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -361,7 +361,7 @@ The retrieved information will be stored as `moduleInfo` `JSONObject` in the `Mo

- _Note:_ If a “GET” request fails, it will stop the Connection, and return the HTTP Response Code.

- _Note:_ (Proposed) If an incorrect module was entered, the program will return an error, and ask the user to input the correct module code.
- _Note:_ If an incorrect module was entered, the program will return an error, and ask the user to input the correct module code.

**Step 3b.** Each retrieve method (e.g. `retrieveTitle()`) will retrieve the respective information from the retrieved `JSONObject`, and return it as a `String`.

@@ -795,3 +795,24 @@ Plan #### CS2107 #### 1 #### 1
```
Expected: Similar to previous

### Details command
1. Test case: `details CS2040c` <br>
Expected output: Relevant details for CS2040C will be displayed <br>
Example:
```
___________________________________________________________
CS2040C Data Structures and Algorithms
This module introduces students to the design and implementation of fundamental data structures and algorithms. The module covers basic data structures (linked lists, stacks, queues, hash tables, binary heaps, trees, and graphs), searching and sorting algorithms, basic analysis of algorithms, and basic object-oriented programming concepts.
Pre-Requisites: CS1010 or its equivalent
MCs: 4
Module cannot be SU-ed.
___________________________________________________________
```
2. Test case: `details ABCDE` <br>
Expected output: Error message will be shown <br>
Example:
```
___________________________________________________________
ABCDE This module code is invalid. Try again.
___________________________________________________________
```
7 changes: 4 additions & 3 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -95,7 +95,7 @@ Format:`init n/[NAME] c/[COURSE NUMBER]`
Example:
- `init n/John Doe c/1` Initiates a user with the name `John` and course `Biomedical Engineering`.

Notes:
Note:
- Each program is limited to 1 user, ie. Initialisation more than once will overwrite the current user `name` and `course` and not create a
separate profile

@@ -215,9 +215,10 @@ Format:`status`

Example: `status` *(course: Computer Engineering)*

![details example](./ugmedia/status1.png)
![status example 1](./ugmedia/status1.png)
![status example 2](./ugmedia/status2.png)

Notes:
Note:
- The status command may take a while to load. Please ensure a stable internet connection.

<br>
60 changes: 60 additions & 0 deletions docs/team/sriram-senthilkr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
### Project: PENUS
PENUS is a desktop app for NUS engineering students to manage and plan their modules in their university life. The user interacts with it using a CLI. It is written in Java, and has about 6 kLoC.

Given below are my contributions to the project.

- **Feature**: Details command `details`
- What it does: Retrieves details of any module that is in NUSMods, such as its title, description,
Pre-requisites, Number of Modular Credits and whether it can be SU-ed.
- Highlights: Will be able to display each individual detail on its own, so even if one detail is not available,
it will not affect the command's functionality.

- **Feature**: Connecting to external NUSMods API
- Justification: User will be able to retrieve details of a wide range of NUS modules. Hardcoding all the
modules will not be feasible, and will limit the functionality for the user.
- What it does: Creates a "GET" request to the NUSMods API for a particular module, and retrieves all the
information given from the API regarding the module.
- Highlights: Required in-depth understanding of `HttpURLConnection` in Java. Used "GET" requests to retrieve for
individual modules.

- **Feature**: Working with JSON file to retrieve individual details from NUSMods API
- Justification: NUSMods API returns a JSON file of the all the details required, which is read as String in
Java. It is stored as JSON again to retrieve details easily.
- What it does: Parses retrieved String back as JSONObject, and stores in JSONArray.
- Highlights: Had to install external dependency `com.googlecode.json-simple`. Challenging to use `JSONParser`,
`JSONArray`, and `JSONObject` to retrieve data from the API, as the API had nested information that were hard to
parse and use using the parser.

- **Tests Written**:
- Module Retriever Tests
- Details Compiler Tests

- **Enhancement**: Made any type of information from NUSMods API retrievable, regardless of its JSON formatting.

- **Code contributed**: [RepoSense link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=sriram-senthilkr&breakdown=true)

- **Contributions to UG**:
- Written documentation for:
- Get Details feature

- **Contributions to DG**:
- Implementation section: Get Module details
- Diagrams (refer to extract): get details sequence

- **Contributions to team-based tasks**:
- Brainstormed for possible tP ideas
- Assigned teammates for milestone
- Add javadoc to most methods
- User Stories

- **Review/mentoring contributions:**:
- PRs reviewed [#196](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/196)

- **Contributions beyond the project team**:
- Reported 11 bugs for PE-D

- **Contributions to the Developer Guide (Extracts)**:

Get Details sequence diagram:

![DetailsSequenceDiagram](/docs/uml/diagrams/DetailsSequence.png)
24 changes: 10 additions & 14 deletions docs/team/tayjiunyuan.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
## Tay Jiun Yuan's Project Portfolio Page

### Tay Jiun Yuan's Project Portfolio Page
### Project: PENUS
PENUS is a desktop app for NUS engineering students to manage and plan their modules in their university life. The user interacts with it using a CLI. It is written in Java, and has about 6 kLoC.

Given below are my contributions to the project.

- **New Feature**: Initialization Command
- What it does: Initialises the User's Name and Course
- Justification: Name allows users to personalize their PENUS experience and course allows the status command to retrieve the core modules of the user.
- Highlights: Improved usability as it is not feasible to have the user type out their entire course name as it would be prone to misspelling/ wrong format. Decided to map each course to a number instead. Had to create a new class User to store the information
- Highlights: Improved usability as it is not feasible to have the user type out their entire course name as it would be prone to misspelling/ wrong format. Decided to map each course to a number instead. Created a new class User to store the information.

- **New Feature**: Get core modules of user
- What it does: Retrieves a list of the core modules of the user.
- Justification: Allows the Status Command to retrieve the core module information of the user based on his/her course.
- Highlights: Tedious to implement there were many components. Hardcoded each course's core modules (found through each course's website) into a txt file and created a method getCoreMods() to read the txt file and add each core module code under the correct course in a hashmap.
- Highlights: Hardcoded each course's core modules (found through each course's website) into a txt file and created a method getCoreMods() to read the txt file and add each core module code under the correct course in a hashmap.

- **New Feature**: Status Command
- What it does: Displays the user's name, course, core module status and total module credits taken
- Justification: Provides a summary of the user's progress to graduation
- Highlights: Very challenging to implement due to the sheer number of components. Retrieving the status of each core module requires calling the methods to get the core module codes, checking if the user has taken it and factoring modules such has GE mods which cannot be hardcoded. Also required API calls to retrieve the module information and separate methods to get the MC progress of the user. It was very difficult to achieve everything whilst maintaining strict OOP practices.
- Justification: Provides a summary of the user's progress to graduation.
- Highlights: Very challenging to implement due to the number of components. Retrieving the status of each core module requires calling the methods to get the core module codes, checking if the user has taken it. Also required API calls to retrieve the module information and separate methods to get the MC progress of the user. Very difficult to achieve everything whilst maintaining strict OOP practices.

- **New Feature**: Sample Data
- What it does: Creates an instance of the model, with sample data
- Justification: When testing, the model can be instantiated with pre-added data, instead of manual adding the data in through commands
- What it does: Creates an instance of the model, with sample data.
- Justification: When testing, the model can be instantiated with pre-added data, instead of manually adding the data in through commands.

- **Tests Written**:
- Initialisation Command Tests
@@ -34,7 +32,7 @@ Given below are my contributions to the project.

- **Enhancement**: Planned new architecture to adopt MVC design pattern
- Justification: Improves abstraction and OOP significantly and made it easier for teammates to work on features independently as working on previous codebase asynchronously made the code messy. Made architecture diagrams cleaner and simple.
- Highlights: Came up with the rough planning of refactored architecture adopting MVC pattern with Benjamin. Implementation not done by me and I do not claim credit for it.
- Highlights: Came up with the rough planning of refactored architecture adopting MVC pattern with Benjamin. Only responsible for planning and not implementation.
- Credits: [AddressBook 2](https://github.com/se-edu/addressbook-level2) and [AddressBook 3](https://github.com/se-edu/addressbook-level3).

- **Code contributed**: [RepoSense link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=tayjiunyuan&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2023-02-17&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)
@@ -55,14 +53,12 @@ Given below are my contributions to the project.
- Wrote documentation for Implementation and drew UML Sequence Diagram

- **Contributions to team-based tasks**:
- Assigned teammates for milestone
- Assigned teammates for milestones
- Opened and managed milestone v2.1
- User Stories

- **Review/mentoring contributions:**:
- PRs reviewed/merged: [#14](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/14), [#25](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/25), [#27](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/27), [#186](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/186)
- PRs reviewed/merged: [#14](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/14), [#25](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/25), [#27](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/27), [#186](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/186), [#191](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/191), [#196](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/196), [#198](https://github.com/AY2223S2-CS2113-T11-2/tp/pull/198)

- **Contributions beyond the project team**:
- Reported 5 bugs for PE-D


Binary file modified docs/ugmedia/status1.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/ugmedia/status2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions src/main/java/seedu/penus/logic/utils/DetailsCompiler.java
Original file line number Diff line number Diff line change
@@ -3,6 +3,10 @@
public class DetailsCompiler extends ModuleRetriever{
protected String moduleCode;

/**
* Retrieves details of given module code, and displays error message if information is not available
* @param module string
*/
public static String getDetails(String module) {
String title;
String description;
12 changes: 0 additions & 12 deletions src/main/java/seedu/penus/logic/utils/ModuleRetriever.java
Original file line number Diff line number Diff line change
@@ -58,7 +58,6 @@ public static void getData2223(String module) throws InvalidModuleAPIException{
// 200 OK
if (responseCode != 200) {
throw new InvalidModuleAPIException();
//throw new RuntimeException("HttpResponseCode: " + responseCode + " NO SUCH MODULE WAS FOUND");
} else {
Scanner scanner = new Scanner(url.openStream());
String informationString = scanner.nextLine();
@@ -76,7 +75,6 @@ public static void getData2223(String module) throws InvalidModuleAPIException{
moduleInfo2223 = (JSONObject) dataObject.get(0);
}
} catch (Exception e) {
//System.out.println("Unable to retrieve module");
moduleInfo2122 = null;
}
}
@@ -100,7 +98,6 @@ public static void getData2122(String module) throws InvalidModuleAPIException {
// 200 OK
if (responseCode != 200) {
throw new InvalidModuleAPIException();
//throw new RuntimeException("HttpResponseCode: " + responseCode + " NO SUCH MODULE WAS FOUND");
} else {
Scanner scanner = new Scanner(url.openStream());
String informationString = scanner.nextLine();
@@ -120,8 +117,6 @@ public static void getData2122(String module) throws InvalidModuleAPIException {
//test code
}
} catch (Exception e) {
//e.printStackTrace();
//System.out.println("Unable to retrieve module");
moduleInfo2122 = null;
}
}
@@ -131,7 +126,6 @@ public static String getPrerequisite(String module) {
getData2122(module);
return (String) moduleInfo2122.get("prerequisite");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}
@@ -141,7 +135,6 @@ public static String getDescription(String module) {
getData2223(module);
return (String) moduleInfo2223.get("description");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}
@@ -151,7 +144,6 @@ public static String getTitle2223(String module) {
getData2223(module);
return (String) moduleInfo2223.get("title");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}

@@ -162,7 +154,6 @@ public static String getModuleCredit2223(String module) {
getData2223(module);
return (String) moduleInfo2223.get("moduleCredit");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}
@@ -172,7 +163,6 @@ public static String getTitle2122(String module) {
getData2122(module);
return (String) moduleInfo2122.get("title");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}
@@ -186,7 +176,6 @@ public static String getModuleCredit2122(String module) {
getData2122(module);
return (String) moduleInfo2122.get("moduleCredit");
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}
@@ -199,7 +188,6 @@ public static Boolean getSUstatus(String module) {

return suStatus != null;
} catch (InvalidModuleAPIException e) {
//e.printStackTrace();
return null;
}
}