-
Notifications
You must be signed in to change notification settings - Fork 89
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-4] NUSDegs #29
base: master
Are you sure you want to change the base?
Changes from 109 commits
7a22ad8
9651f16
2dcf3c6
d685ab2
44aa0fc
cd732e8
2aed76b
b281b3a
f3052b5
9ae1bbf
53f24ac
0938e8a
5eb5353
9bf7461
9486986
e394f24
6f81557
43e0c7e
71e0978
25aac60
b3a818e
00d194b
3640d9c
c5683f6
5236420
a6a0ab0
5e00d6b
009d139
cabddcf
2a2b10e
8da90a7
8a3c1df
23a4aa8
4f607fd
9a288a9
efd9493
3ce972f
251ba2c
799af44
b010d5a
df24998
ca1532b
6a551a2
32aeba4
f6423cc
4ac5c5d
a4fb452
e4679bb
34f1c0d
af43484
748dc6c
f14d7a3
273f15a
d243522
7f2f5da
3db7a92
45ca7d6
644656b
00792a7
4f4f904
997b617
e5916c3
792a1b8
a2ccd50
5f663c8
2ade538
684c631
0158d83
bb71495
71419e2
fed0a68
81bd049
481c126
72ff586
d30521f
f871685
0bfec24
2c6965b
794e5de
8dfd41d
3dcb9ba
ffc116c
fa7bb0c
1a68c7e
9db2938
baf2fe5
38aaaaf
5ee4908
1d2683f
5db4d25
2822a01
08e0395
6af54e1
ad6a438
3197bff
bd5f8f0
b6a1483
d20551f
dd45c2f
21f2d0e
f988cf1
09b7728
5a345e2
f1f9b21
6ec0db8
c0fff8b
24fcb01
aedf47e
524577e
33e987a
10b50cd
7a188f7
9b20aef
fd62b46
ffc4116
dd8e9e6
46616f3
bec7afa
afa154b
307ac85
ca77b12
1b034dd
2313ef4
fdec483
e9f602b
4b3f1b3
6102146
ba57ab0
687afa5
53a4cc5
0981dd4
35c3856
55fc882
fb70581
685033b
032d3cf
8e8ebe6
cf29904
b849b24
9c87a0d
fedb41f
5f9a8c1
9b2a5d4
411583d
17882fe
8de7f10
e6fbb18
5a5ae27
1ca0a1f
e1936b7
105aa10
b5ad131
46e7c2a
76ad0e7
e56cfd2
dda67a0
97ae0c1
dc368fb
d119da4
20eeb04
6ee246e
c97dded
07fd9af
9dd8baa
9916679
37fb441
d5a94f8
51f8e46
2e93857
376430d
25befe8
3486f6c
34b6604
537e09d
6b54329
1e34a0f
94c38ec
9489d9b
781cdd0
0bec0a3
75da020
58f8564
0536116
5c3d724
f2977cf
328fdcd
0ccb5b2
e9c8993
21d0bbe
60bb55c
78fe6c4
3f1c398
7105f7e
3380088
f9fbf34
d81195a
d636391
83a350d
be2f361
a09dd3f
8b6b9bf
6a38453
8b8b2e3
3c13cd8
1dc4f2f
2f55aa0
a3a2b8c
49d5fda
6d92ffb
257894e
f5b030f
98f86c7
a3bf4be
3b8bd6d
305317a
c712993
94494e1
a772fd6
c762d02
dcaec61
d0655a3
0ca9462
e6946b3
640eea3
3bd1cf7
4fe7b69
37453d4
20892fb
d9dd67c
f166530
15e2e97
7bd0ffe
1618302
bd3da9c
b29f1c8
9db656e
01b0ee4
5c43119
474fa12
c7df252
9d01c81
8522cdb
a6acff2
01ff295
bfa255f
ff795b3
e8fa068
3c665ad
57cfae6
5205b70
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Manifest-Version: 1.0 | ||
Main-Class: seedu.duke.Duke | ||
|
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 | | ||
|--------------------------------|:-----------------------:|:-----------------------------------------:|:-------------------------------------------------:| | ||
| ![](photos/disney_selfie.png) | Sebastian Fok Shin Hung | [Github](https://github.com/SebasFok/) | [Portfolio](team/sebastianfok.md) | | ||
| ![](photos/j.png) | Liow Enqi Janelle | [Github](https://github.com/janelleenqi/) | [Portfolio](team/liowenqijanelle.md) | | ||
| ![](photos/rohit_pic.png) | Rohit R | [Github](https://github.com/rohitcube) | [Portfolio](team/johndoe.md) | | ||
| ![](photos/ryanPic.JPG) | Ryan Loh | [Github](https://github.com/ryanlohyr) | [Portfolio](https://ryanlohyr.github.io/ryanloh/) | | ||
| ![](photos/isaiah_profile.png) | Isaiah Cerven | [Github](https://github.com/CerIsaiah/) | [Portfolio](team/isaiah.md) | |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,9 +4,101 @@ | |
|
||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | ||
|
||
## Design & implementation | ||
## Design & implementation, Architecture | ||
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would be better to understand if there is a diagram for what you implemented. |
||
## Features | ||
- Pace | ||
- Left | ||
- Major | ||
|
||
# Implementation | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe some developers would want to know how the user input is handled. |
||
## [Proposed] Pacing and MC Calculation | ||
|
||
The proposed "Pacing and MC Calculation" mechanism is implemented to help users track their academic progress and remaining Modular Credits (MCs) required for graduation. This feature is facilitated by the PacingManager, which stores user data and provides functions for calculating the recommended pacing and remaining MCs. The following operations are available: | ||
|
||
- PacingManager#calculateRemainingMCs() — Calculates the remaining MCs required for graduation. | ||
- PacingManager#calculateRecommendedPace() — Recommends the pacing for upcoming semesters. | ||
|
||
These operations are exposed in the Pacing interface as Pacing#calculateRemainingMCs() and Pacing#calculateRecommendedPace() respectively. | ||
|
||
### Usage Examples | ||
|
||
Here are a few examples of how the "Pacing and MC Calculation" feature behaves: | ||
|
||
#### Example 1: Calculate Remaining MCs | ||
|
||
Command: `pace Y2/S1` (assuming that the user has completed 60 MCs from Y1S1 to Y2S1) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it be helpful to have information about the parameter's use? |
||
|
||
Response: | ||
`You currently have 100 MCs left until graduation.` | ||
|
||
#### Example 2: Calculate Remaining MCs (No Semester Specified) | ||
|
||
Command: `pace` | ||
|
||
Response: | ||
`You currently have 100 MCs left until graduation.` | ||
|
||
## [Proposed] List Modules Left Feature | ||
|
||
The proposed left mechanism is implemented to help users keep tracks of modules left for their major. It is facilitated by `modulesLeft`, `modulesMajor` and `modulesTaken`. Additionally, it implements the following operations: | ||
|
||
- `modulesLeft#getDifference(modulesMajor, modulesTaken)` – Keeps the list of modules in `modulesMajor` but not in `modulesTaken` in `modulesLeft`. | ||
- `modulesLeft#getMainModuleList()` – Returns the list of modules in `modulesLeft`. | ||
|
||
This operation is exposed in the `ModulePlannerController` interface as `ModulePlannerController#listModulesLeft()`. | ||
|
||
### Usage Examples | ||
|
||
Here are a few examples of how the List Modules Left Feature behaves: | ||
|
||
#### Example 1: | ||
`modulesMajor#getMainModuleList()` gives modules `CS1231S CS2030S CS2040S CS2100 CS2101 CS2106 CS2109S CS3230`. | ||
`modulesTaken#getMainModuleList()` gives modules `CS1231S MA1511` | ||
|
||
Command: `left` | ||
|
||
Response: | ||
`CS2030S CS2040S CS2100 CS2101 CS2106 CS2109S CS3230` | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What data structure do you use to record the modules that user has taken? |
||
## [Proposed] Input Major Feature | ||
|
||
The proposed input major feature is facilitated by `Student`. It tries to store the major specified in userInput txt | ||
file such that it can be used across sessions. It will print different responses based on whether the storing of the | ||
Major was successful. Additionally, it implements the following operation: | ||
|
||
- `Student#setMajor(Major major)` – Saves the selected major in its memory. | ||
|
||
This operation is exposed in the `Student` interface as `Student#updateMajor(String userInput)`. | ||
|
||
### Usage Examples | ||
|
||
Here are a few examples of how the Input Major Feature behaves: | ||
|
||
#### Example 1: | ||
If "CS" is a valid major: `Student#updateMajor("major CS")` calls `Student#setMajor("CS")`, which sets the Major in the | ||
student object as `CS` and returns a string `newMajor` | ||
|
||
Command: `major CS` | ||
|
||
Response: `Major CS selected!` | ||
|
||
#### Example 2: | ||
If "abc" is an invalid major: `Student#updateMajor("major abc")` calls `Student#setMajor("abc")`, which generates an | ||
IllegalArgumentException, which is caught and returns a string `invalidMajor` | ||
|
||
Command: `major abc` | ||
|
||
Response: `Please select a major from this list: [list of currently available Majors]` | ||
|
||
#### Example 3: | ||
If no major was specified: `Student#updateMajor("major")` returns a string `currentMajor` | ||
|
||
Command: `major` | ||
|
||
Response: `Current major is [current major in student object].` | ||
|
||
|
||
## Product scope | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it help to include more user stories? |
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Isaiah - Project Portfolio Page | ||
|
||
## Overview | ||
|
||
|
||
### Summary of Contributions |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Liow Enqi Janelle - Project Portfolio Page | ||
|
||
## Overview | ||
|
||
|
||
### Summary of Contributions |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Sebastian Fok - Project Portfolio Page | ||
|
||
## Overview | ||
|
||
|
||
### Summary of Contributions |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,13 @@ | ||
package seedu.duke; | ||
|
||
import java.util.Scanner; | ||
|
||
import seedu.duke.controllers.ModulePlannerController; | ||
public class Duke { | ||
/** | ||
* Main entry-point for the java.duke.Duke application. | ||
*/ | ||
//main should have basically no code except start | ||
public static void main(String[] args) { | ||
String logo = " ____ _ \n" | ||
+ "| _ \\ _ _| | _____ \n" | ||
+ "| | | | | | | |/ / _ \\\n" | ||
+ "| |_| | |_| | < __/\n" | ||
+ "|____/ \\__,_|_|\\_\\___|\n"; | ||
System.out.println("Hello from\n" + logo); | ||
System.out.println("What is your name?"); | ||
|
||
Scanner in = new Scanner(System.in); | ||
System.out.println("Hello " + in.nextLine()); | ||
ModulePlannerController controller = new ModulePlannerController(); | ||
controller.start(); | ||
} | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it would be helpful to include diagrams to illustrate the program flow?