Skip to content

Commit

Permalink
Merge pull request #27 from ryanlohyr/ryan/developer-guide
Browse files Browse the repository at this point in the history
Create developer guide for pace feature
  • Loading branch information
ryanlohyr authored Oct 23, 2023
2 parents fde33ba + b36f879 commit ff1fed8
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 4 deletions.
28 changes: 28 additions & 0 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,35 @@
## Design & implementation

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
## Features
- ### Pace Feature
# Proposed Implementation - 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)

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.
- ### Feature 2

## Product scope
### Target user profile
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/seedu/duke/CompletePreqs.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package seedu.duke;

import seedu.duke.models.ModuleList;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package seedu.duke.controllers;

import seedu.duke.CompletePreqs;
import seedu.duke.ModuleList;
import seedu.duke.models.ModuleList;
import seedu.duke.models.Major;
import seedu.duke.models.Student;
import seedu.duke.views.CommandLineView;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package seedu.duke;
package seedu.duke.models;

import java.io.InvalidObjectException;
import java.util.ArrayList;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/duke/utils/Parser.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
public class Parser {

//we need to consider if
public boolean isValidAcademicYear(String userInput ) {
public boolean isValidAcademicYear( String userInput ) {
try {
String[] parts = userInput.split("/");
if(parts.length != 2){
Expand Down
1 change: 1 addition & 0 deletions src/test/java/seedu/duke/ModuleListTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package seedu.duke;

import org.junit.jupiter.api.Test;
import seedu.duke.models.ModuleList;

import java.io.InvalidObjectException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import seedu.duke.ModuleList;
import seedu.duke.models.ModuleList;
import seedu.duke.models.Major;

import java.io.ByteArrayOutputStream;
Expand Down

0 comments on commit ff1fed8

Please sign in to comment.