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

update PPP + upload draw.io file #313

Merged
merged 2 commits into from
Nov 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/base/moduleDetailsCommand.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2020-11-09T09:33:44.036Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" etag="qp-ODXyGifg7UMH5jzji" version="13.9.2" type="device" pages="4"><diagram name="finalState" id="6fjzUKeHMQf9yGDKUk0k">7Vldd9o4EP01PJLjD2zMYyBpsrvtaRrS7WOPsIStRbaokPnYX78jW8bYFqxJQtpzGh5y0JU0ku6dGY1Iz50k2zuBlvEnjgnrORbe9tybnuMEQw/+KmBXAN7ILoBIUFxAB8CU/ks0aGk0o5isagMl50zSZR0MeZqSUNYwJATf1IfNOauvukQRaQHTELE2+o1iGetjeVaF3xMaxeXKtqV7ElQO1sAqRphvDiD3tudOBOey+JZsJ4Qp7kpevj/9+WO9tu7+eLz/fj/62v8mky/9wtiHc6bsjyBIKp9t+iH6a8ToJB1PxWL9uLjtDx49PcVaI5ZpvvRZ5a4kMBI8W3bcgd7pmghJtiZ50aw0WzEInkd4QqTYwTg9a6Q3tiudSbc3lYR+qUt8IJ870CDSbhPtTVfUwBfNzhkiOF2ZcsdzytiEMy5y2J0HIQlDwFdS8AU56JkF3gAc0R236T2p1vPp1XwOOtLpXIxO9//pBDZTTJQRRdEmppJMlyhUvRtIVYDFMoFFb2zFbRmctoloK//se8pE4BjEyj9GSU66RVOSNvU/j+tBi+upRBKScpNxOIJs0FpjMuUpaVCmIcRolEIzBLYI4GNFCIUsfK07EoqxWsaoY13pmpSvLoPudQL3yreHlmM7Q98beUEt3zjt+PCcq3zgcDDwAyvwbIOClxLQMwSLz3KpYBt+JHOiCmS1RGlNVf9Hpm6o8Zynsr/R272GISkXCWLVgKYlNeG4pVV+0ys79nC5bVv5QFNl3MpdrTQJpy+s1lcCuNh2Cz4836s5K6wV0jQCwKtaTxw88abvHMs1HHxrznK/jMGXSXrab1sB8cIUf9yR/bav7q/LQ++8WHqx20XEJBP5OZVgufxHU7v90tSO/Znv+R1Tu5PfwxeTwq1XLa5tkMY3VS0XK1o6VC0EQ72sm1zImEccIve2QhtuXo35yPOYUbL8Q6Tc6eIfZZKfCszDwudYqXRevbnimQjJqXF6oDrrSSUFYUjSdf3tYJJFT33gNHfzbV3I8hrxvLoFiUREpJ7U0Ha/ixdEom2Qu8il2T6PutfwxssY+cgRhsxU5drsaKp9xXD1w4DM5l3CFSMSzM/3he7hatsNtQxV8RuHa4fn2G8Rrs5PCVd79MbhasrO7XB9IGLF0/dArXQK3jBQjaVB+/Va5NQbIhFlqwlPEpTinornQrWZKDXDhBEJEjWlAzWWJK9R5bFn0oF2MxQuolztz5lkVJW1OY6RWHxWBa1UXFlXlldLCEdkL8UdtMUlbug72JgUrJHrnPFEe7HsxnJqZJDdu5Ts7Yd0IfvfUO1jJIEZx3rXt6u++9/qfhl92+/sBwG5/6uEmH6X9gxpPatRWrmXkxaa1W/wxdVc/SPDvf0P</diagram><diagram id="TUKYIbqrNy9AhMWlX_RG" name="initialState">7VpRc9o4EP41PJKxbGzMY4A06Uxzk2vau7QvN4otjHq2xAk5mP76k20JW9iADSSFFCaTQWuxK+337WpX0LFGUXLL4Gx6T30UdkzDTzrWuGOaAwDE/1SwzAUucHNBwLCfi0AheMQ/kRQaUhpjH821iZzSkOOZLvQoIcjjmgwyRhf6tAkNdaszGKCK4NGDYVX6N/b5VO7CNgr5HcLBVFkGhnwSQTVZCuZT6NNFSWTddEynY1oJ7FjDTirT/6wRo5TvnKYmR8kIhanvlV+79M/oQ9f5adw9ge/3d/iP+Y8v3XwxH46sdeUlhgh/TeuLpX0/+Qe+PHwlI/J58P02+RxJrcYLDGOJmvQ4XyoYA0bjmZyGGEdJHXngs5puNNwPaILj+pZuEY0QZ0sxVlEi7S0V9+V4UTDOUWualthmulIIJcuDlepWbhZzpaePTAu7KTLWcILDcERDyjKxNXE95HlCPueM/otKT55duyfCL13eAXBuJtIBcEr8ek3h6502fA3QE+ARH6VKUkQWU8zR4wx66dOFOA+EbMojsa4xSKFUGRDU4Wpkr9UTlW3NGm5kr20M2B249oFQnzu2bgXbRw65OGnXERau5WswasgRStAaRFIEQxwQMfQEFEjIhylQWByt1/JBhH0/NVPLG51ZGnV+IeyJSrzWlQP6hgnMvmMPbFfL34oPJY7Y5lU2sd/rOa7h2qCGMadNmH5NMnDCjBpiM07AMyO5ZD6DRGOR81+cVjLDCSW8u5CbvhZTCGURDIsJ65rSD2zWNM/KxVQP6M+SqpaPBHOcqjcyciulwkW5Xt2WEOcLr4jLOzxaeAhbHiaBENjF6AsV3B93zU3ZlArWT8IsEqYiehDZHimVEGwUOq9yNqrIcarBsap3yuFw4vkTDCpUQL7oHOSQMj6lASUwvCmkw0L6iWZApxj9QJwvZeMDY051NglQ2PIpxfbKVsNv5WfjRAKfj5aKBhvLpk2Flk4jlGD+pOyI99+KJYhRYTQdKJu5R1I3tMzK0pU0Zh7aMk+6nEMWoK36+gdylaEQcvyib6OOiG1sKEvXjMFlSd+MYsLn+2krVv+QaimFWd/QjiRLNqxNA6eREcc4npEsUnPXtAMuC/AVdr86LZjGHmnBi9lLFnhgvxzRPtZPJlKdt4rUEzgyBhsrqHhVXljX99SPQzRGHOJwPqJRBIlfKkXijZVIkb/Boa2Y47noedKkFfMhcicFo/aqyY9TWAB1Y6iSUc0lClDFR7nQsIyTZg2oNt27M4p+lp902fHaqUhdQO/MRYPfKBUpp5Ry0ShmmcdTpmW90uulF995dmyn4U2P6Z1keump8bmnF6vFqfSJQl+0kZfTqDVd6u6Ez5IuvUZ0eUBsTsmFKO2JAtx3QhSnRV75C4bYh5xeUksDxlimzph3U+huvmHWUgvDhH/lojm6kGU3Wex3Shb1VeS27ybfoE1683Zn941K763amH3u+CpXiOun38DWDebtnfxQ66vFk7sdrDsUL6xVXci5sta0z4y12dwdPy5Tqyh+1Wfd/A8=</diagram><diagram id="6eQC0soYAkQEpeXBB-JX" name="activity">7Vptb6M4EP41kfY+pCIYCPnY9GX3pK1UXXW63Y8OGOKtwZwxTXK//sZgCIZkk0ZtklaJqgbGLzPMPJ55bDJAN8nyq8DZ/IGHhA1sK1wO0O3Atn3Lg/9KsKoEY9euBLGgYSUarQVP9D+ihZaWFjQkudFRcs4kzUxhwNOUBNKQYSH4wuwWcWZqzXBMeoKnALO+9B8ayrl+LNday78RGs9rzSNLtyS47qwF+RyHfNESobuBDd5BSzxA04GSmX/oRnAud3arOyfLG8KU72u/Ps3u7Yfp44P31y/vx/3zdMb+HA8rY+7feNbGS4Kk8ujaNaJeMCt01LTH5aoOIzg/U5dFwq4DyQWofSFCUgj0dzwj7JHnVFKeQpcZl5InrQ7XjMaqQfIMpHOZMLgZwWUTUXUTM5wrrIHZU8GLNCShbokoYzecKaVgCrLKT/ncpdWghSw7YNvhxtE+8Ol68ivhCZFiBfdaHfJRpVCvTUcjdbEGOtKieQvjnpZhvbTiZuJXxRb66vC+LRomu9FAQljj+pYLOecxTzG7W0una+l3rsJeBvIXkXKlUxQuJO+gQQr+TLYHWik9bpgFYVjSF1Prpqi9Rsda0yOnYP4aTZPxlW/gaYQ6OiUWMZF63CvAslNzR6/V0ZvzQgTkUL0aqo1jTw3w0R757oLwd0L4eNL6uAbsoPifBu7+54a7uwHuHpMKkBlODdx7/xaKMU2DCqPXCiLx7EulEiy0Wld/lEYo+yKeymGEE8pW1RiYCCdZ2YiQoxYBYS9EkYFeizlJXi4dNcXIzpadtspK1ZhykWBmNi90hVXtTmVn2chgSRIxhEcNaBpvHA/8QQ5xxVJUcwCLjgizmQIhSfX0Vsu0slEKnOYRTFpPn5Kmw4KL0NTeHj7DwXNc0p1hx+e24ze+tp3J+tpteT6kecaw9jpNGW0pjhjHsm1QHVy4istvd5rwsGBqSAD7DjVFXgEFAOXe1igBYFZA0cO6uVK5AOSLOZXkCR5UiRewmTGT38nZmj22zHTjOT26NrKtPl+rOdyZ8rWRt7uciTlPZkW+O0om8zYIeoeGR1FkB8GmqhZ6M8/1ziHkyPOvkGdG3fJ7UXcnV7b/4Xj6aNyPuzslLCfl2n01oWmhQOfCW0YiuWEj1+zwSBpeqzMCNWdG0kqi6Y9f3oG7fqhN3dXEtWvBz1LgTJoet0u976vuVu27RyIoeJ0ILdzClKqSvccq2Q96kNdL7vG7TTN6G4zWCo9LxRzb5EBOfezyttwL0IFXrVkzNV9+2FNsfxa/k9j1PvwQk/dWUjvsML/AuMo1H5lY1iBtJaC/85I3kSUJCkkUmQh4kuA07OWjw+vQ9nqzrUKdvg453Y291ace9Qpsl6D6mPRMS5CNLtRjf+qBxv2of0zqYTu9uD/UO4mQSEyZWvrgaeVwAXmUXBKAWaImG/YeHzEB+LsTwOUo7Z2O0tz2WVoHXu57sLnNB3odZHsd1Z/rMM2+vB05R8CjsXMqwCPH+cyAR/u8LGGMZnnnDKF+Y6xOBCSWpF+eGwT/ptafvnJ33/G6Xq9yb3rJe+aHhmgP5n7JY0fPYw26jp/HHLuj+tzzWNl3xy98aivWP61Cd/8D</diagram><diagram id="kgpKYQtTHZ0yAKxKKP6v" name="sequence">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</diagram></mxfile>
127 changes: 121 additions & 6 deletions docs/team/vanessa-kang.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The _CAP Calculator_ then makes use of this existing data to calculate students'

Given below are my contributions to the project.

<br>
<hr>

- **Code contributed:** [RepoSense Link](https://nus-cs2113-ay2021s1.github.io/tp-dashboard/#breakdown=true&search=vanessa&sort=groupTitle&sortWithin=title&since=2020-09-27&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other&tabOpen=true&tabType=authorship&zFR=false&tabAuthor=vanessa-kang&tabRepo=AY2021S1-CS2113T-F12-1%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other)
- **New Feature:** Added the ability to view all modules in the user's academic calendar.
Expand All @@ -35,24 +35,139 @@ Given below are my contributions to the project.
- **Documentation:**
- User Guide:
- Added documentation for `details` and `search` ([#132](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/132))
- Formatting and proofreading of User Guide ([#132](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/132), [#241](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/241), [#242](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/242))
- Formatting and proofreading of User Guide ([#132](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/132), [#241](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/241), [#242](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/242), [#305](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/305), [#312](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/312))
- Developer Guide:
- Added documentation for `ModuleDetailsCommand` ([#173](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/173))
- Added use cases for _Academic Planner_ features ([#236](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/236))
- Added instructions for manual testing ([#245](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/245), [#289](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/289))
- Formatting and proofreading of Developer Guide ([#242](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/242))
- Formatting and proofreading of Developer Guide ([#242](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/242), [#312](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/312))
- **Team-based tasks:**

- General bug fixes ([#238](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/238))
- Alerted teammates to bugs that needed fixing (e.g. [#103](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/103), [#288](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/288))
- Alerted teammates to bugs that needed fixing (e.g. [#103](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/103), [#288](https://github.com/AY2021S1-CS2113T-F12-1/tp/pull/288), [#307](https://github.com/AY2021S1-CS2113T-F12-1/tp/issues/307))
- **Review contributions:**

- PRs reviewed (with non-trivial review comments):
- iP: [#15](https://github.com/nus-cs2113-AY2021S1/ip/pull/15), [#154](https://github.com/nus-cs2113-AY2021S1/ip/pull/154)
- tP: [#26](https://github.com/nus-cs2113-AY2021S1/tp/pull/26), [#68](https://github.com/nus-cs2113-AY2021S1/tp/pull/68), [PE dry run](https://github.com/vanessa-kang/ped/issues)

<hr>

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

#### 6.1.4. Viewing the details of a module: `details`

<!-- @@author vanessa-kang -->

This command is for you to view the detailed information of a particular module.

Input format: `details <module code>`

Example of usage:

- `details CS2101`
- `DETAILS cs2113t`

<table><tr><td><div style="text-align:center">
<img src="../images/UserGuide/acadplan_details.png" />
</div></td></tr></table>

As shown in the image, you can input the module that they wish to view further details about.

__<ins>Caution:</ins>__

- No information will be printed if the module is not offered by NUS.

<br>

#### 6.1.5. Searching for module codes containing a keyword: `search`

This command is for when you are unsure of the full module code.

Input format: `search <module code key>`

Example of usage:

- `search CS21`
- `SEARCH cg4002`

<table><tr><td><div style="text-align:center">
<img src="../images/UserGuide/acadplan_search_part.png" />
</div></td></tr></table>

<table><tr><td><div style="text-align:center">
<img src="../images/UserGuide/acadplan_search_full.png"/>
</div></td></tr></table>

As shown above, you can enter a search key that contains either part of, or the whole module code.

__<ins>Caution:</ins>__

- This feature currently only supports searching by module code.
- Only up to the first 10 results are displayed.

<hr>

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

### 4.4. Academic Calendar Planner: View Module Details Feature

<!-- @@author vanessa-kang -->

#### 4.4.1. Current implementation

View module details command is executed by `AcademicPlannerParser`. It allows the user to view the full details of any module offered by NUS, by accessing the specified `FullModule` object that corresponds to the module code entered by the user, and printing its attributes.

Additionally, the view module details command extends the `Command` class and overrides its `execute()` command. An external class, `ModuleValidator` is called upon to validate the module code that the user has entered, as only the details of valid NUS modules can be displayed.

Given below is an example usage scenario and how view module command behaves at each step.

<div style="text-align:center">
<img src="../images/DeveloperGuide/moduleDetailsCommand_initialState.png" alt="Initial state diagram for Module Details Command"/>
</div>


__Step 1:__ The user calls the view module details command from the `AcademicPlannerParser`, which will initialise a `ModuleDetailsCommand`. `ModuleDetailsCommand`'s constructor takes in parameters of `ModuleLoader` and `String`. Below is a table of what each parameter corresponds to in the state diagram of the program.

| Parameter<br />(Class Name) | Corresponds to<br />(Function of Class) | Referred to as<br />(Variable Name) |
| :-------------------------: | :----------------------------------------------------: | :---------------------------------: |
| `ModuleLoader` | Class representing all modules offered by NUS | `allModules` |
| `String` | Class representing the module code to print details of | `moduleCode` |

__Step 2:__ `execute()` is called from the instance of `ModuleDetailsCommand`. It can throw `AcademicException`.

__Step 3:__ `validateModuleCode()` is called to validate the user input, `moduleCode`, against `allModules`.

__Step 4:__ `PrintUtils` is called to print the details of the module.

<div style="text-align:center">
<img src="../images/DeveloperGuide/moduleDetailsCommand_finalState.png" alt="Final state diagram for Module Details Command"/>
</div>




__Step 5:__ `ModuleDetailsCommand`, `ModuleLoader` and `PrintUtils` are terminated.



The following sequence diagram shows how `ModuleDetailsCommand` works.

<div style="text-align:center">
<img src="../images/DeveloperGuide/moduleDetailsCommand_sequence.png"/>
</div>



The following diagram summarizes what happens when the user executes a `ModuleDetailsCommand`:

<div style="text-align:center">
<img src="../images/DeveloperGuide/moduleDetailsCommand_activity.png" alt="Activity diagram for View Module Details Command"/>
</div>




- **[Optional] Contributions to the User Guide (Extracts):**
- **[Optional] Contributions to the Developer Guide (Extracts):**