**Caution:**
Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps.
@@ -23,13 +18,16 @@ First, **fork** this repo, and **clone** the fork into your computer.
If you plan to use Intellij IDEA (highly recommended):
1. **Configure the JDK**: Follow the guide [_[se-edu/guides] IDEA: Configuring the JDK_](https://se-education.org/guides/tutorials/intellijJdk.html) to to ensure Intellij is configured to use **JDK 11**.
-1. **Import the project as a Gradle project**: Follow the guide [_[se-edu/guides] IDEA: Importing a Gradle project_](https://se-education.org/guides/tutorials/intellijImportGradleProject.html) to import the project into IDEA.
+2. **Import the project as a Gradle project**: Follow the guide [_[se-edu/guides] IDEA: Importing a Gradle project_](https://se-education.org/guides/tutorials/intellijImportGradleProject.html) to import the project into IDEA.
+
+
Note: Importing a Gradle project is slightly different from importing a normal Java project.
-1. **Verify the setup**:
+
+3. **Verify the setup**:
1. Run the `seedu.codesphere.Main` and try a few commands.
- 1. [Run the tests](Testing.md) to ensure they all pass.
+ 2. [Run the tests](Testing.md) to ensure they all pass.
--------------------------------------------------------------------------------------------------------------------
@@ -39,21 +37,20 @@ If you plan to use Intellij IDEA (highly recommended):
If using IDEA, follow the guide [_[se-edu/guides] IDEA: Configuring the code style_](https://se-education.org/guides/tutorials/intellijCodeStyle.html) to set up IDEA's coding style to match ours.
-
-
- **Tip:**
- Optionally, you can follow the guide [_[se-edu/guides] Using Checkstyle_](https://se-education.org/guides/tutorials/checkstyle.html) to find how to use the CheckStyle within IDEA e.g., to report problems _as_ you write code.
+
+
+ :bulb: **Tip:** Optionally, you can follow the guide [_[se-edu/guides] Using Checkstyle_](https://se-education.org/guides/tutorials/checkstyle.html) to find how to use the CheckStyle within IDEA e.g., to report problems _as_ you write code.
-1. **Set up CI**
+2. **Set up CI**
This project comes with a GitHub Actions config files (in `.github/workflows` folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the `master` branch or to any PR. No set up required.
-1. **Learn the design**
+3. **Learn the design**
When you are ready to start coding, we recommend that you get some sense of the overall design by reading about [AddressBookâs architecture](DeveloperGuide.md#architecture).
-1. **Do the tutorials**
+4. **Do the tutorials**
These tutorials will help you get acquainted with the codebase.
* [Tracing code](tutorials/TracingCode.md)
diff --git a/docs/Testing.md b/docs/Testing.md
index f56241a4eff..52863f29de5 100644
--- a/docs/Testing.md
+++ b/docs/Testing.md
@@ -4,11 +4,6 @@
pageNav: 3
---
-# Testing guide
-
-
-
-
## Running tests
@@ -35,7 +30,7 @@ This project has three types of tests:
1. *Unit tests* targeting the lowest level methods/classes.
e.g. `seedu.codesphere.commons.StringUtilTest`
-1. *Integration tests* that are checking the integration of multiple code units (those code units are assumed to be working).
+2. *Integration tests* that are checking the integration of multiple code units (those code units are assumed to be working).
e.g. `seedu.codesphere.storage.StorageManagerTest`
-1. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
+3. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
e.g. `seedu.codesphere.logic.LogicManagerTest`
diff --git a/docs/diagrams/AddCourseActivityDiagram.puml b/docs/diagrams/AddCourseActivityDiagram.puml
new file mode 100644
index 00000000000..97bc91d54c4
--- /dev/null
+++ b/docs/diagrams/AddCourseActivityDiagram.puml
@@ -0,0 +1,25 @@
+@startuml
+start
+:User executes add command on home page;
+
+'Since the beta syntax does not support placing the condition outside the
+'diamond we place it as the true branch instead.
+
+if () then ([command is in invalid format])
+ :Show invalid command format as error message;
+
+else ([else])
+ if () then ([course name is invalid])
+ : Show invalid course name error message;
+ else ([else])
+ if () then ([course already exists])
+ : Show duplicate course error message;
+ else ([else])
+ : Add the course to the course list;
+ : Display the updated course list;
+ endif
+ endif
+endif
+stop
+
+@enduml
diff --git a/docs/diagrams/DeleteCourseActivityDiagram.puml b/docs/diagrams/DeleteCourseActivityDiagram.puml
new file mode 100644
index 00000000000..203b8017548
--- /dev/null
+++ b/docs/diagrams/DeleteCourseActivityDiagram.puml
@@ -0,0 +1,21 @@
+@startuml
+start
+:User executes delete command on home page;
+
+'Since the beta syntax does not support placing the condition outside the
+'diamond we place it as the true branch instead.
+
+if () then ([command is in invalid format])
+ :Show invalid command format as error message;
+
+else ([else])
+ if () then ([input index is invalid])
+ : Show invalid course index error message;
+ else ([else])
+ : Deletes the course in the displayed course list;
+ : Display the full updated course list;
+ endif
+endif
+stop
+
+@enduml
diff --git a/docs/diagrams/EditCourseActivityDiagram.puml b/docs/diagrams/EditCourseActivityDiagram.puml
new file mode 100644
index 00000000000..980b3b06dae
--- /dev/null
+++ b/docs/diagrams/EditCourseActivityDiagram.puml
@@ -0,0 +1,29 @@
+@startuml
+start
+:User executes edit command on home page;
+
+'Since the beta syntax does not support placing the condition outside the
+'diamond we place it as the true branch instead.
+
+if () then ([command is in invalid format])
+ :Show invalid command format as error message;
+
+else ([else])
+ if () then ([input index is invalid])
+ : Show invalid course index error message;
+ else ([else])
+ if () then ([course name is invalid])
+ : Show invalid course name error message;
+ else ([else])
+ if () then ([course already exists))
+ : Show duplicate course error message;
+ else ([else])
+ : Deletes the course in the displayed course list;
+ : Display the full updated course list;
+ endif
+ endif
+ endif
+endif
+stop
+
+@enduml
diff --git a/docs/images/AddCourseActivityDiagram.png b/docs/images/AddCourseActivityDiagram.png
new file mode 100644
index 00000000000..69d8b337762
Binary files /dev/null and b/docs/images/AddCourseActivityDiagram.png differ
diff --git a/docs/images/DeleteCourseActivityDiagram.png b/docs/images/DeleteCourseActivityDiagram.png
new file mode 100644
index 00000000000..3fda6f06535
Binary files /dev/null and b/docs/images/DeleteCourseActivityDiagram.png differ
diff --git a/docs/images/EditCourseActivityDiagram.png b/docs/images/EditCourseActivityDiagram.png
new file mode 100644
index 00000000000..88b1f34dd78
Binary files /dev/null and b/docs/images/EditCourseActivityDiagram.png differ